{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>\n",
       "/* 本电子讲义使用之CSS */\n",
       "div.code_cell {\n",
       "    background-color: #e5f1fe;\n",
       "}\n",
       "div.cell.selected {\n",
       "    background-color: #effee2;\n",
       "    font-size: 2rem;\n",
       "    line-height: 2.4rem;\n",
       "}\n",
       "div.cell.selected .rendered_html table {\n",
       "    font-size: 2rem !important;\n",
       "    line-height: 2.4rem !important;\n",
       "}\n",
       ".rendered_html pre code {\n",
       "    background-color: #C4E4ff;   \n",
       "    padding: 2px 25px;\n",
       "}\n",
       ".rendered_html pre {\n",
       "    background-color: #99c9ff;\n",
       "}\n",
       "div.code_cell .CodeMirror {\n",
       "    font-size: 2rem !important;\n",
       "    line-height: 2.4rem !important;\n",
       "}\n",
       ".rendered_html img, .rendered_html svg {\n",
       "    max-width: 100%;\n",
       "    height: auto;\n",
       "    float: center;\n",
       "}\n",
       "/* Gradient transparent - color - transparent */\n",
       "hr {\n",
       "    border: 0;\n",
       "    border-bottom: 1px dashed #ccc;\n",
       "}\n",
       ".emoticon{\n",
       "    font-size: 5rem;\n",
       "    line-height: 4.4rem;\n",
       "    text-align: center;\n",
       "    vertical-align: middle;\n",
       "}\n",
       "\n",
       "</style>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%html\n",
    "<style>\n",
    "/* 本电子讲义使用之CSS */\n",
    "div.code_cell {\n",
    "    background-color: #e5f1fe;\n",
    "}\n",
    "div.cell.selected {\n",
    "    background-color: #effee2;\n",
    "    font-size: 2rem;\n",
    "    line-height: 2.4rem;\n",
    "}\n",
    "div.cell.selected .rendered_html table {\n",
    "    font-size: 2rem !important;\n",
    "    line-height: 2.4rem !important;\n",
    "}\n",
    ".rendered_html pre code {\n",
    "    background-color: #C4E4ff;   \n",
    "    padding: 2px 25px;\n",
    "}\n",
    ".rendered_html pre {\n",
    "    background-color: #99c9ff;\n",
    "}\n",
    "div.code_cell .CodeMirror {\n",
    "    font-size: 2rem !important;\n",
    "    line-height: 2.4rem !important;\n",
    "}\n",
    ".rendered_html img, .rendered_html svg {\n",
    "    max-width: 100%;\n",
    "    height: auto;\n",
    "    float: center;\n",
    "}\n",
    "/* Gradient transparent - color - transparent */\n",
    "hr {\n",
    "    border: 0;\n",
    "    border-bottom: 1px dashed #ccc;\n",
    "}\n",
    ".emoticon{\n",
    "    font-size: 5rem;\n",
    "    line-height: 4.4rem;\n",
    "    text-align: center;\n",
    "    vertical-align: middle;\n",
    "}\n",
    "\n",
    "</style>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 回顾地理编码、逆地理编码、步行路径规划（代码A）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "import requests\n",
    "key =\"bcc129581ef43592b54c1a2b1245e848\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### A-1 获取地理编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'info': 'OK', 'infocode': '10000', 'count': '1', 'geocodes': [{'formatted_address': '广东省深圳市福田区深圳图书馆', 'country': '中国', 'province': '广东省', 'citycode': '0755', 'city': '深圳市', 'district': '福田区', 'township': [], 'neighborhood': {'name': [], 'type': []}, 'building': {'name': [], 'type': []}, 'adcode': '440304', 'street': [], 'number': [], 'location': '114.056671,22.545808', 'level': '兴趣点'}]}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>formatted_address</th>\n",
       "      <th>country</th>\n",
       "      <th>province</th>\n",
       "      <th>citycode</th>\n",
       "      <th>city</th>\n",
       "      <th>district</th>\n",
       "      <th>township</th>\n",
       "      <th>adcode</th>\n",
       "      <th>street</th>\n",
       "      <th>number</th>\n",
       "      <th>location</th>\n",
       "      <th>level</th>\n",
       "      <th>neighborhood.name</th>\n",
       "      <th>neighborhood.type</th>\n",
       "      <th>building.name</th>\n",
       "      <th>building.type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广东省深圳市福田区深圳图书馆</td>\n",
       "      <td>中国</td>\n",
       "      <td>广东省</td>\n",
       "      <td>0755</td>\n",
       "      <td>深圳市</td>\n",
       "      <td>福田区</td>\n",
       "      <td>[]</td>\n",
       "      <td>440304</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>114.056671,22.545808</td>\n",
       "      <td>兴趣点</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  formatted_address country province citycode city district township  adcode  \\\n",
       "0    广东省深圳市福田区深圳图书馆      中国      广东省     0755  深圳市      福田区       []  440304   \n",
       "\n",
       "  street number              location level neighborhood.name  \\\n",
       "0     []     []  114.056671,22.545808   兴趣点                []   \n",
       "\n",
       "  neighborhood.type building.name building.type  \n",
       "0                []            []            []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "深圳图书馆地理编码: 114.056671,22.545808\n"
     ]
    }
   ],
   "source": [
    "# A-1 地理编码\n",
    "def geocode(address,city=None,batch=None,sig=None)->dict:\n",
    "    \"\"\"获取地理编码\"\"\"\n",
    "    \"\"\"输入所要查询的地理地址，即可获得该地理位置的经纬度\"\"\"\n",
    "    url = 'https://restapi.amap.com/v3/geocode/geo?parameters'\n",
    "    params={\n",
    "        'key': key,\n",
    "        'address':address,\n",
    "        'city':city,\n",
    "        'batch':batch,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "深圳图书馆 = geocode(address='广东省深圳市深圳图书馆')\n",
    "print(深圳图书馆)\n",
    "df_深圳图书馆地理编码 = pd.json_normalize(深圳图书馆['geocodes'])\n",
    "display(df_深圳图书馆地理编码)\n",
    "深圳图书馆地理编码 = 深圳图书馆['geocodes'][0]['location']\n",
    "print(\"深圳图书馆地理编码:\",深圳图书馆地理编码)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### A-2 逆地理编码（基础/全）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'regeocode': {'addressComponent': {'city': '深圳市', 'province': '广东省', 'adcode': '440304', 'district': '福田区', 'towncode': '440304008000', 'streetNumber': {'number': '2001号', 'location': '114.057393,22.54582', 'direction': '东', 'distance': '74.1566', 'street': '福中一路'}, 'country': '中国', 'township': '莲花街道', 'businessAreas': [[]], 'building': {'name': [], 'type': []}, 'neighborhood': {'name': [], 'type': []}, 'citycode': '0755'}, 'formatted_address': '广东省深圳市福田区莲花街道益田路深圳图书馆'}, 'info': 'OK', 'infocode': '10000'}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>status</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>info</th>\n",
       "      <td>OK</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>infocode</th>\n",
       "      <td>10000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.city</th>\n",
       "      <td>深圳市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.province</th>\n",
       "      <td>广东省</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.adcode</th>\n",
       "      <td>440304</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.district</th>\n",
       "      <td>福田区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.towncode</th>\n",
       "      <td>440304008000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.number</th>\n",
       "      <td>2001号</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.location</th>\n",
       "      <td>114.057393,22.54582</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.direction</th>\n",
       "      <td>东</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.distance</th>\n",
       "      <td>74.1566</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.street</th>\n",
       "      <td>福中一路</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.country</th>\n",
       "      <td>中国</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.township</th>\n",
       "      <td>莲花街道</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.businessAreas</th>\n",
       "      <td>[[]]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.building.name</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.building.type</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.neighborhood.name</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.neighborhood.type</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.citycode</th>\n",
       "      <td>0755</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.formatted_address</th>\n",
       "      <td>广东省深圳市福田区莲花街道益田路深圳图书馆</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                                       0\n",
       "status                                                                 1\n",
       "info                                                                  OK\n",
       "infocode                                                           10000\n",
       "regeocode.addressComponent.city                                      深圳市\n",
       "regeocode.addressComponent.province                                  广东省\n",
       "regeocode.addressComponent.adcode                                 440304\n",
       "regeocode.addressComponent.district                                  福田区\n",
       "regeocode.addressComponent.towncode                         440304008000\n",
       "regeocode.addressComponent.streetNumber.number                     2001号\n",
       "regeocode.addressComponent.streetNumber.location     114.057393,22.54582\n",
       "regeocode.addressComponent.streetNumber.direction                      东\n",
       "regeocode.addressComponent.streetNumber.distance                 74.1566\n",
       "regeocode.addressComponent.streetNumber.street                      福中一路\n",
       "regeocode.addressComponent.country                                    中国\n",
       "regeocode.addressComponent.township                                 莲花街道\n",
       "regeocode.addressComponent.businessAreas                            [[]]\n",
       "regeocode.addressComponent.building.name                              []\n",
       "regeocode.addressComponent.building.type                              []\n",
       "regeocode.addressComponent.neighborhood.name                          []\n",
       "regeocode.addressComponent.neighborhood.type                          []\n",
       "regeocode.addressComponent.citycode                                 0755\n",
       "regeocode.formatted_address                        广东省深圳市福田区莲花街道益田路深圳图书馆"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# A-2 基础逆地理编码分析\n",
    "def regeocode(location,poitype=None,radius=None,extensions=\"base\",batch=False,roadlevel=None,sig=None,homeorcorp=None)->dict:\n",
    "    \"\"\"获取逆地理编码\"\"\"\n",
    "    url = 'https://restapi.amap.com/v3/geocode/regeo?parameters'\n",
    "    params={\n",
    "        'key': key,\n",
    "        'location':location,\n",
    "        'poitype':poitype,\n",
    "        'radius':radius,\n",
    "        'extensions':extensions,\n",
    "        'batch':batch,\n",
    "        'roadlevel':roadlevel,\n",
    "        'homeorcorp':homeorcorp,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "深圳图书馆逆地理编码 = regeocode(深圳图书馆地理编码)\n",
    "print(深圳图书馆逆地理编码)\n",
    "df_深圳图书馆逆地理编码 = pd.json_normalize(深圳图书馆逆地理编码).T\n",
    "display(df_深圳图书馆逆地理编码)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'regeocode': {'roads': [{'id': '0755F50F0180011431', 'location': '114.056,22.546', 'direction': '东', 'name': '益田路', 'distance': '44.5485'}, {'id': '0755F50F0180011433', 'location': '114.057,22.5466', 'direction': '南', 'name': '福中一路', 'distance': '88.9682'}, {'id': '0755F50F018001652', 'location': '114.057,22.5447', 'direction': '北', 'name': '福中路', 'distance': '124.811'}], 'roadinters': [{'second_name': '福中一路', 'first_id': '0755F50F0180011431', 'second_id': '0755F50F0180011433', 'location': '114.0561,22.54658806', 'distance': '104.706', 'first_name': '益田路', 'direction': '东南'}], 'formatted_address': '广东省深圳市福田区莲花街道益田路深圳图书馆', 'addressComponent': {'city': '深圳市', 'province': '广东省', 'adcode': '440304', 'district': '福田区', 'towncode': '440304008000', 'streetNumber': {'number': '2001号', 'location': '114.057393,22.54582', 'direction': '东', 'distance': '74.1566', 'street': '福中一路'}, 'country': '中国', 'township': '莲花街道', 'businessAreas': [[]], 'building': {'name': [], 'type': []}, 'neighborhood': {'name': [], 'type': []}, 'citycode': '0755'}, 'aois': [{'area': '28847.974155', 'type': '140500', 'id': 'B02F37VHAS', 'location': '114.05729,22.545657', 'adcode': '440304', 'name': '深圳图书馆', 'distance': '0'}], 'pois': [{'id': 'B02F37VHAS', 'direction': '东', 'businessarea': [], 'address': '福中一路2001号', 'poiweight': '0.766983', 'name': '深圳图书馆', 'location': '114.05729,22.545657', 'distance': '65.7444', 'tel': '0755-82841212;0755-82841211', 'type': '科教文化服务;图书馆;图书馆'}, {'id': 'B02F37TUYS', 'direction': '西北', 'businessarea': [], 'address': '益田路6013号江苏大厦A座1层', 'poiweight': '0.534285', 'name': '平安银行(深圳江苏大厦支行)', 'location': '114.055646,22.546295', 'distance': '118.379', 'tel': '0755-82943264;0755-82940713', 'type': '金融保险服务;银行;平安银行'}, {'id': 'B02F37U1UD', 'direction': '西南', 'businessarea': [], 'address': '益田路6009号', 'poiweight': '0.578806', 'name': '新世界中心', 'location': '114.055505,22.545307', 'distance': '132.091', 'tel': '0755-83238888', 'type': '商务住宅;楼宇;商务写字楼'}, {'id': 'B02F300707', 'direction': '西', 'businessarea': [], 'address': '益田路6013号', 'poiweight': '0.573271', 'name': '江苏大厦', 'location': '114.055513,22.546183', 'distance': '126.032', 'tel': '0755-83734688;0755-83734697', 'type': '商务住宅;楼宇;商务写字楼'}, {'id': 'B02F38TEBI', 'direction': '西', 'businessarea': [], 'address': '益田路6013', 'poiweight': '0.383997', 'name': '江苏大厦A座', 'location': '114.055510,22.545686', 'distance': '120.016', 'tel': [], 'type': '商务住宅;楼宇;商务写字楼'}, {'id': 'B02F38S856', 'direction': '东北', 'businessarea': [], 'address': '福中一路与鹏程三路交叉口西150米', 'poiweight': '0.207768', 'name': '深圳图书馆南书房', 'location': '114.057280,22.546455', 'distance': '95.3197', 'tel': [], 'type': '科教文化服务;图书馆;图书馆'}, {'id': 'B0FFHHECXT', 'direction': '西北', 'businessarea': [], 'address': '益田路6013号北门', 'poiweight': '0.350666', 'name': '江苏大厦B座', 'location': '114.055364,22.546447', 'distance': '151.892', 'tel': [], 'type': '商务住宅;楼宇;商务写字楼'}, {'id': 'B02F37T908', 'direction': '西', 'businessarea': [], 'address': '益田路6013江苏大厦B座B1002-08', 'poiweight': '0.126324', 'name': '深圳市才智培训中心(益田路)', 'location': '114.055480,22.546224', 'distance': '130.776', 'tel': [], 'type': '科教文化服务;培训机构;培训机构'}, {'id': 'B02F37TKDI', 'direction': '西', 'businessarea': [], 'address': '益田路6013江苏大厦B座B1203', 'poiweight': '0.277704', 'name': '天众传媒(益田路)', 'location': '114.055480,22.546224', 'distance': '130.776', 'tel': [], 'type': '科教文化服务;传媒机构;传媒机构'}, {'id': 'B02F38R8B4', 'direction': '西南', 'businessarea': [], 'address': '益田路6009号新世界中心13层', 'poiweight': '0.271278', 'name': '深圳市城市发展研究中心', 'location': '114.055442,22.545184', 'distance': '144.06', 'tel': '0755-82563933', 'type': '科教文化服务;科研机构;科研机构'}, {'id': 'B02F37TNCE', 'direction': '西', 'businessarea': [], 'address': '益田路6013江苏大厦A座A25层', 'poiweight': '0.180154', 'name': '深圳市英鹏英语培训中心', 'location': '114.055480,22.546224', 'distance': '130.776', 'tel': [], 'type': '科教文化服务;培训机构;培训机构'}, {'id': 'B02F38SXFD', 'direction': '西南', 'businessarea': [], 'address': '益田路6009号新世界中心19层', 'poiweight': '0.144748', 'name': '深圳市重点民营企业互保金管理委员会', 'location': '114.055442,22.545184', 'distance': '144.06', 'tel': [], 'type': '政府机构及社会团体;政府机关;地市级政府及事业单位'}, {'id': 'B02F38SXZG', 'direction': '西南', 'businessarea': [], 'address': '益田路6003-4号', 'poiweight': '0.48', 'name': '广东华兴银行(深圳分行)', 'location': '114.055736,22.543905', 'distance': '232.388', 'tel': '0755-22667575', 'type': '金融保险服务;银行;银行'}, {'id': 'B02F37W17Q', 'direction': '北', 'businessarea': [], 'address': '鹏程三路', 'poiweight': '0.435452', 'name': '艺术公寓', 'location': '114.057119,22.547468', 'distance': '190.234', 'tel': [], 'type': '商务住宅;楼宇;商务写字楼'}, {'id': 'B02F37VXZB', 'direction': '西南', 'businessarea': [], 'address': '益田路6003-4号', 'poiweight': '0.4718', 'name': '深圳建设银行分行营业部', 'location': '114.055725,22.543640', 'distance': '259.932', 'tel': '0755-23828387', 'type': '金融保险服务;银行;中国建设银行'}, {'id': 'B02F37UAM9', 'direction': '西南', 'businessarea': [], 'address': '益田路6003-4号', 'poiweight': '0.538682', 'name': '荣超商务中心B座', 'location': '114.055747,22.543974', 'distance': '224.962', 'tel': [], 'type': '商务住宅;楼宇;商务写字楼'}, {'id': 'B02F300691', 'direction': '东南', 'businessarea': [], 'address': '福中三路市民中心C区', 'poiweight': '0.656296', 'name': '深圳市人民政府', 'location': '114.057939,22.543527', 'distance': '285.125', 'tel': [], 'type': '政府机构及社会团体;政府机关;地市级政府及事业单位'}, {'id': 'B02F37VXZC', 'direction': '西南', 'businessarea': [], 'address': '益田路6003号荣超商务中心首层', 'poiweight': '0.33615', 'name': '中国民生银行(深圳莲花支行)', 'location': '114.055379,22.543552', 'distance': '283.82', 'tel': '0755-23810026;0755-23810062;95568', 'type': '金融保险服务;银行;中国民生银行'}, {'id': 'B02F38RWRD', 'direction': '东南', 'businessarea': [], 'address': '福中三路市民中心C区', 'poiweight': '0.261006', 'name': '深圳市人民政府应急管理办公室', 'location': '114.057711,22.544110', 'distance': '216.94', 'tel': '0755-88128401', 'type': '政府机构及社会团体;政府机关;地市级政府及事业单位'}, {'id': 'B02F38SI22', 'direction': '东', 'businessarea': [], 'address': '红荔路深圳书城中心城南区175号(弘文书店对面)', 'poiweight': '0.35667', 'name': '英孚教育成人英语(市民中心)', 'location': '114.059121,22.545915', 'distance': '251.899', 'tel': '4001079100', 'type': '科教文化服务;培训机构;培训机构'}, {'id': 'B0FFFTWG7A', 'direction': '西南', 'businessarea': [], 'address': '益田路6003-4号', 'poiweight': '0.339361', 'name': '荣超商务中心', 'location': '114.055522,22.543593', 'distance': '273.124', 'tel': '0755-83836999', 'type': '商务住宅;楼宇;商务写字楼'}, {'id': 'B02F38SZEA', 'direction': '东南', 'businessarea': [], 'address': '福中三路市民中心B区2-9楼', 'poiweight': '0.48', 'name': '深圳市工业展览馆(福中三路)', 'location': '114.059087,22.544055', 'distance': '315.532', 'tel': '0755-88121155;0755-88121362', 'type': '科教文化服务;展览馆;展览馆'}, {'id': 'B02F30570I', 'direction': '西南', 'businessarea': [], 'address': '益田路6009号新世界中心3层', 'poiweight': '0.554389', 'name': '潮泰轩贵宾楼(新世界中心北)', 'location': '114.055443,22.545184', 'distance': '143.96', 'tel': '0755-82991888;0755-82729988', 'type': '餐饮服务;中餐厅;广东菜(粤菜)'}, {'id': 'B02F37TUYN', 'direction': '北', 'businessarea': [], 'address': '福中一路2016号音乐厅1层西侧玻璃房', 'poiweight': '0.287417', 'name': '可颂坊(音乐厅店)', 'location': '114.057054,22.546866', 'distance': '124.05', 'tel': '0755-23992079;0755-23992097;0755-26651502', 'type': '餐饮服务;糕饼店;糕饼店'}, {'id': 'B02F37U6TX', 'direction': '东南', 'businessarea': [], 'address': '深南大道深圳市民中心行政服务大厅西52', 'poiweight': '0.426771', 'name': '深圳市教育局', 'location': '114.057937,22.543400', 'distance': '297.666', 'tel': [], 'type': '政府机构及社会团体;政府机关;地市级政府及事业单位'}, {'id': 'B02F38SWX3', 'direction': '东北', 'businessarea': [], 'address': '鹏程三路附近', 'poiweight': '0.433088', 'name': '深圳市中心区中轴线北中轴乐园', 'location': '114.058496,22.547546', 'distance': '269.228', 'tel': [], 'type': '风景名胜;公园广场;城市广场'}, {'id': 'B0FFFP097E', 'direction': '东南', 'businessarea': [], 'address': '福中三路', 'poiweight': '0.191314', 'name': '深圳市民中心C区', 'location': '114.057756,22.543621', 'distance': '267.502', 'tel': [], 'type': '政府机构及社会团体;政府机关;地市级政府及事业单位'}, {'id': 'B02F38JLPU', 'direction': '东北', 'businessarea': [], 'address': '福中一路2016号深圳音乐厅1层', 'poiweight': '0.552863', 'name': '大音琴院(福田店)', 'location': '114.057428,22.546873', 'distance': '141.663', 'tel': '0755-82841456;0755-88306690', 'type': '科教文化服务;培训机构;培训机构|购物服务;专卖店;专营店'}, {'id': 'B02F37VVU4', 'direction': '西南', 'businessarea': [], 'address': '益田路6009号新世界中心46层', 'poiweight': '0.522017', 'name': '三星电子香港有限公司深圳代表处(鹏程二路)', 'location': '114.055442,22.545184', 'distance': '144.06', 'tel': '0755-86085888', 'type': '公司企业;公司;机械电子|公司企业;知名企业;知名企业'}, {'id': 'B02F38PEFN', 'direction': '西北', 'businessarea': [], 'address': '益田路7019号深圳市儿童医院A楼1层', 'poiweight': '0.145524', 'name': '深圳市儿童医院急诊', 'location': '114.055400,22.547539', 'distance': '232.564', 'tel': [], 'type': '医疗保健服务;专科医院;专科医院'}]}, 'info': 'OK', 'infocode': '10000'}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>status</th>\n",
       "      <th>info</th>\n",
       "      <th>infocode</th>\n",
       "      <th>regeocode.roads</th>\n",
       "      <th>regeocode.roadinters</th>\n",
       "      <th>regeocode.formatted_address</th>\n",
       "      <th>regeocode.addressComponent.city</th>\n",
       "      <th>regeocode.addressComponent.province</th>\n",
       "      <th>regeocode.addressComponent.adcode</th>\n",
       "      <th>regeocode.addressComponent.district</th>\n",
       "      <th>...</th>\n",
       "      <th>regeocode.addressComponent.country</th>\n",
       "      <th>regeocode.addressComponent.township</th>\n",
       "      <th>regeocode.addressComponent.businessAreas</th>\n",
       "      <th>regeocode.addressComponent.building.name</th>\n",
       "      <th>regeocode.addressComponent.building.type</th>\n",
       "      <th>regeocode.addressComponent.neighborhood.name</th>\n",
       "      <th>regeocode.addressComponent.neighborhood.type</th>\n",
       "      <th>regeocode.addressComponent.citycode</th>\n",
       "      <th>regeocode.aois</th>\n",
       "      <th>regeocode.pois</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>OK</td>\n",
       "      <td>10000</td>\n",
       "      <td>[{'id': '0755F50F0180011431', 'location': '114...</td>\n",
       "      <td>[{'second_name': '福中一路', 'first_id': '0755F50F...</td>\n",
       "      <td>广东省深圳市福田区莲花街道益田路深圳图书馆</td>\n",
       "      <td>深圳市</td>\n",
       "      <td>广东省</td>\n",
       "      <td>440304</td>\n",
       "      <td>福田区</td>\n",
       "      <td>...</td>\n",
       "      <td>中国</td>\n",
       "      <td>莲花街道</td>\n",
       "      <td>[[]]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0755</td>\n",
       "      <td>[{'area': '28847.974155', 'type': '140500', 'i...</td>\n",
       "      <td>[{'id': 'B02F37VHAS', 'direction': '东', 'busin...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  status info infocode                                    regeocode.roads  \\\n",
       "0      1   OK    10000  [{'id': '0755F50F0180011431', 'location': '114...   \n",
       "\n",
       "                                regeocode.roadinters  \\\n",
       "0  [{'second_name': '福中一路', 'first_id': '0755F50F...   \n",
       "\n",
       "  regeocode.formatted_address regeocode.addressComponent.city  \\\n",
       "0       广东省深圳市福田区莲花街道益田路深圳图书馆                             深圳市   \n",
       "\n",
       "  regeocode.addressComponent.province regeocode.addressComponent.adcode  \\\n",
       "0                                 广东省                            440304   \n",
       "\n",
       "  regeocode.addressComponent.district  ... regeocode.addressComponent.country  \\\n",
       "0                                 福田区  ...                                 中国   \n",
       "\n",
       "  regeocode.addressComponent.township  \\\n",
       "0                                莲花街道   \n",
       "\n",
       "  regeocode.addressComponent.businessAreas  \\\n",
       "0                                     [[]]   \n",
       "\n",
       "  regeocode.addressComponent.building.name  \\\n",
       "0                                       []   \n",
       "\n",
       "  regeocode.addressComponent.building.type  \\\n",
       "0                                       []   \n",
       "\n",
       "  regeocode.addressComponent.neighborhood.name  \\\n",
       "0                                           []   \n",
       "\n",
       "  regeocode.addressComponent.neighborhood.type  \\\n",
       "0                                           []   \n",
       "\n",
       "  regeocode.addressComponent.citycode  \\\n",
       "0                                0755   \n",
       "\n",
       "                                      regeocode.aois  \\\n",
       "0  [{'area': '28847.974155', 'type': '140500', 'i...   \n",
       "\n",
       "                                      regeocode.pois  \n",
       "0  [{'id': 'B02F37VHAS', 'direction': '东', 'busin...  \n",
       "\n",
       "[1 rows x 26 columns]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# A-2 Extra 全部逆地理编码分析，extensions 参数取值为 all 时会返回基本地址信息、附近 POI 内容、道路信息以及道路交叉口信息\n",
    "深圳图书馆逆地理编码_all = regeocode(深圳图书馆地理编码,extensions=\"all\")\n",
    "print(深圳图书馆逆地理编码_all)\n",
    "df_深圳图书馆逆地理编码_all = pd.json_normalize(深圳图书馆逆地理编码_all)\n",
    "display(df_深圳图书馆逆地理编码_all)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：\n",
    "## 在快递也就是物流服务中，可以通过逆地理编码的功能很精确的描述出物流车辆所在的位置，便于送物流以及收物流的人快速定位，精准方便。\n",
    "## 在语音识别中，可以精确告诉用该功能的app使用者各种地方的定位，给用户带来一种高效率的体验。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### A-3 全部逆地理编码分析细节\n",
    "\n",
    "1. 大家先思考一个问题，你给高德的地址和他给你的，是不是它大气的多？\n",
    "2. 这些细节哪些是有用的？假设用户给你一个地址，和一定的诉求，我们是不是可以推荐一些POI地址？\n",
    "\n",
    "![](http://static.leiphone.com/uploads/new/article/740_740/201612/5860bb12da0e0.png?imageMogr2/format/jpg/quality/90)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "      <th>direction</th>\n",
       "      <th>name</th>\n",
       "      <th>distance</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755F50F0180011431</td>\n",
       "      <td>114.056,22.546</td>\n",
       "      <td>东</td>\n",
       "      <td>益田路</td>\n",
       "      <td>44.5485</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755F50F0180011433</td>\n",
       "      <td>114.057,22.5466</td>\n",
       "      <td>南</td>\n",
       "      <td>福中一路</td>\n",
       "      <td>88.9682</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755F50F018001652</td>\n",
       "      <td>114.057,22.5447</td>\n",
       "      <td>北</td>\n",
       "      <td>福中路</td>\n",
       "      <td>124.811</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   id         location direction  name distance\n",
       "0  0755F50F0180011431   114.056,22.546         东   益田路  44.5485\n",
       "1  0755F50F0180011433  114.057,22.5466         南  福中一路  88.9682\n",
       "2   0755F50F018001652  114.057,22.5447         北   福中路  124.811"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>second_name</th>\n",
       "      <th>first_id</th>\n",
       "      <th>second_id</th>\n",
       "      <th>location</th>\n",
       "      <th>distance</th>\n",
       "      <th>first_name</th>\n",
       "      <th>direction</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>福中一路</td>\n",
       "      <td>0755F50F0180011431</td>\n",
       "      <td>0755F50F0180011433</td>\n",
       "      <td>114.0561,22.54658806</td>\n",
       "      <td>104.706</td>\n",
       "      <td>益田路</td>\n",
       "      <td>东南</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  second_name            first_id           second_id              location  \\\n",
       "0        福中一路  0755F50F0180011431  0755F50F0180011433  114.0561,22.54658806   \n",
       "\n",
       "  distance first_name direction  \n",
       "0  104.706        益田路        东南  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>area</th>\n",
       "      <th>type</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "      <th>adcode</th>\n",
       "      <th>name</th>\n",
       "      <th>distance</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>28847.974155</td>\n",
       "      <td>140500</td>\n",
       "      <td>B02F37VHAS</td>\n",
       "      <td>114.05729,22.545657</td>\n",
       "      <td>440304</td>\n",
       "      <td>深圳图书馆</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           area    type          id             location  adcode   name  \\\n",
       "0  28847.974155  140500  B02F37VHAS  114.05729,22.545657  440304  深圳图书馆   \n",
       "\n",
       "  distance  \n",
       "0        0  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>direction</th>\n",
       "      <th>businessarea</th>\n",
       "      <th>address</th>\n",
       "      <th>poiweight</th>\n",
       "      <th>name</th>\n",
       "      <th>location</th>\n",
       "      <th>distance</th>\n",
       "      <th>tel</th>\n",
       "      <th>type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B02F37VHAS</td>\n",
       "      <td>东</td>\n",
       "      <td>[]</td>\n",
       "      <td>福中一路2001号</td>\n",
       "      <td>0.766983</td>\n",
       "      <td>深圳图书馆</td>\n",
       "      <td>114.05729,22.545657</td>\n",
       "      <td>65.7444</td>\n",
       "      <td>0755-82841212;0755-82841211</td>\n",
       "      <td>科教文化服务;图书馆;图书馆</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B02F37TUYS</td>\n",
       "      <td>西北</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6013号江苏大厦A座1层</td>\n",
       "      <td>0.534285</td>\n",
       "      <td>平安银行(深圳江苏大厦支行)</td>\n",
       "      <td>114.055646,22.546295</td>\n",
       "      <td>118.379</td>\n",
       "      <td>0755-82943264;0755-82940713</td>\n",
       "      <td>金融保险服务;银行;平安银行</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B02F37U1UD</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6009号</td>\n",
       "      <td>0.578806</td>\n",
       "      <td>新世界中心</td>\n",
       "      <td>114.055505,22.545307</td>\n",
       "      <td>132.091</td>\n",
       "      <td>0755-83238888</td>\n",
       "      <td>商务住宅;楼宇;商务写字楼</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>B02F300707</td>\n",
       "      <td>西</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6013号</td>\n",
       "      <td>0.573271</td>\n",
       "      <td>江苏大厦</td>\n",
       "      <td>114.055513,22.546183</td>\n",
       "      <td>126.032</td>\n",
       "      <td>0755-83734688;0755-83734697</td>\n",
       "      <td>商务住宅;楼宇;商务写字楼</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>B02F38TEBI</td>\n",
       "      <td>西</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6013</td>\n",
       "      <td>0.383997</td>\n",
       "      <td>江苏大厦A座</td>\n",
       "      <td>114.055510,22.545686</td>\n",
       "      <td>120.016</td>\n",
       "      <td>[]</td>\n",
       "      <td>商务住宅;楼宇;商务写字楼</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B02F38S856</td>\n",
       "      <td>东北</td>\n",
       "      <td>[]</td>\n",
       "      <td>福中一路与鹏程三路交叉口西150米</td>\n",
       "      <td>0.207768</td>\n",
       "      <td>深圳图书馆南书房</td>\n",
       "      <td>114.057280,22.546455</td>\n",
       "      <td>95.3197</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;图书馆;图书馆</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>B0FFHHECXT</td>\n",
       "      <td>西北</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6013号北门</td>\n",
       "      <td>0.350666</td>\n",
       "      <td>江苏大厦B座</td>\n",
       "      <td>114.055364,22.546447</td>\n",
       "      <td>151.892</td>\n",
       "      <td>[]</td>\n",
       "      <td>商务住宅;楼宇;商务写字楼</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>B02F37T908</td>\n",
       "      <td>西</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6013江苏大厦B座B1002-08</td>\n",
       "      <td>0.126324</td>\n",
       "      <td>深圳市才智培训中心(益田路)</td>\n",
       "      <td>114.055480,22.546224</td>\n",
       "      <td>130.776</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;培训机构;培训机构</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B02F37TKDI</td>\n",
       "      <td>西</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6013江苏大厦B座B1203</td>\n",
       "      <td>0.277704</td>\n",
       "      <td>天众传媒(益田路)</td>\n",
       "      <td>114.055480,22.546224</td>\n",
       "      <td>130.776</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;传媒机构;传媒机构</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>B02F38R8B4</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6009号新世界中心13层</td>\n",
       "      <td>0.271278</td>\n",
       "      <td>深圳市城市发展研究中心</td>\n",
       "      <td>114.055442,22.545184</td>\n",
       "      <td>144.06</td>\n",
       "      <td>0755-82563933</td>\n",
       "      <td>科教文化服务;科研机构;科研机构</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>B02F37TNCE</td>\n",
       "      <td>西</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6013江苏大厦A座A25层</td>\n",
       "      <td>0.180154</td>\n",
       "      <td>深圳市英鹏英语培训中心</td>\n",
       "      <td>114.055480,22.546224</td>\n",
       "      <td>130.776</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;培训机构;培训机构</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>B02F38SXFD</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6009号新世界中心19层</td>\n",
       "      <td>0.144748</td>\n",
       "      <td>深圳市重点民营企业互保金管理委员会</td>\n",
       "      <td>114.055442,22.545184</td>\n",
       "      <td>144.06</td>\n",
       "      <td>[]</td>\n",
       "      <td>政府机构及社会团体;政府机关;地市级政府及事业单位</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>B02F38SXZG</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6003-4号</td>\n",
       "      <td>0.48</td>\n",
       "      <td>广东华兴银行(深圳分行)</td>\n",
       "      <td>114.055736,22.543905</td>\n",
       "      <td>232.388</td>\n",
       "      <td>0755-22667575</td>\n",
       "      <td>金融保险服务;银行;银行</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>B02F37W17Q</td>\n",
       "      <td>北</td>\n",
       "      <td>[]</td>\n",
       "      <td>鹏程三路</td>\n",
       "      <td>0.435452</td>\n",
       "      <td>艺术公寓</td>\n",
       "      <td>114.057119,22.547468</td>\n",
       "      <td>190.234</td>\n",
       "      <td>[]</td>\n",
       "      <td>商务住宅;楼宇;商务写字楼</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>B02F37VXZB</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6003-4号</td>\n",
       "      <td>0.4718</td>\n",
       "      <td>深圳建设银行分行营业部</td>\n",
       "      <td>114.055725,22.543640</td>\n",
       "      <td>259.932</td>\n",
       "      <td>0755-23828387</td>\n",
       "      <td>金融保险服务;银行;中国建设银行</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>B02F37UAM9</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6003-4号</td>\n",
       "      <td>0.538682</td>\n",
       "      <td>荣超商务中心B座</td>\n",
       "      <td>114.055747,22.543974</td>\n",
       "      <td>224.962</td>\n",
       "      <td>[]</td>\n",
       "      <td>商务住宅;楼宇;商务写字楼</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>B02F300691</td>\n",
       "      <td>东南</td>\n",
       "      <td>[]</td>\n",
       "      <td>福中三路市民中心C区</td>\n",
       "      <td>0.656296</td>\n",
       "      <td>深圳市人民政府</td>\n",
       "      <td>114.057939,22.543527</td>\n",
       "      <td>285.125</td>\n",
       "      <td>[]</td>\n",
       "      <td>政府机构及社会团体;政府机关;地市级政府及事业单位</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>B02F37VXZC</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6003号荣超商务中心首层</td>\n",
       "      <td>0.33615</td>\n",
       "      <td>中国民生银行(深圳莲花支行)</td>\n",
       "      <td>114.055379,22.543552</td>\n",
       "      <td>283.82</td>\n",
       "      <td>0755-23810026;0755-23810062;95568</td>\n",
       "      <td>金融保险服务;银行;中国民生银行</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>B02F38RWRD</td>\n",
       "      <td>东南</td>\n",
       "      <td>[]</td>\n",
       "      <td>福中三路市民中心C区</td>\n",
       "      <td>0.261006</td>\n",
       "      <td>深圳市人民政府应急管理办公室</td>\n",
       "      <td>114.057711,22.544110</td>\n",
       "      <td>216.94</td>\n",
       "      <td>0755-88128401</td>\n",
       "      <td>政府机构及社会团体;政府机关;地市级政府及事业单位</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>B02F38SI22</td>\n",
       "      <td>东</td>\n",
       "      <td>[]</td>\n",
       "      <td>红荔路深圳书城中心城南区175号(弘文书店对面)</td>\n",
       "      <td>0.35667</td>\n",
       "      <td>英孚教育成人英语(市民中心)</td>\n",
       "      <td>114.059121,22.545915</td>\n",
       "      <td>251.899</td>\n",
       "      <td>4001079100</td>\n",
       "      <td>科教文化服务;培训机构;培训机构</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>B0FFFTWG7A</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6003-4号</td>\n",
       "      <td>0.339361</td>\n",
       "      <td>荣超商务中心</td>\n",
       "      <td>114.055522,22.543593</td>\n",
       "      <td>273.124</td>\n",
       "      <td>0755-83836999</td>\n",
       "      <td>商务住宅;楼宇;商务写字楼</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>B02F38SZEA</td>\n",
       "      <td>东南</td>\n",
       "      <td>[]</td>\n",
       "      <td>福中三路市民中心B区2-9楼</td>\n",
       "      <td>0.48</td>\n",
       "      <td>深圳市工业展览馆(福中三路)</td>\n",
       "      <td>114.059087,22.544055</td>\n",
       "      <td>315.532</td>\n",
       "      <td>0755-88121155;0755-88121362</td>\n",
       "      <td>科教文化服务;展览馆;展览馆</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>B02F30570I</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6009号新世界中心3层</td>\n",
       "      <td>0.554389</td>\n",
       "      <td>潮泰轩贵宾楼(新世界中心北)</td>\n",
       "      <td>114.055443,22.545184</td>\n",
       "      <td>143.96</td>\n",
       "      <td>0755-82991888;0755-82729988</td>\n",
       "      <td>餐饮服务;中餐厅;广东菜(粤菜)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>B02F37TUYN</td>\n",
       "      <td>北</td>\n",
       "      <td>[]</td>\n",
       "      <td>福中一路2016号音乐厅1层西侧玻璃房</td>\n",
       "      <td>0.287417</td>\n",
       "      <td>可颂坊(音乐厅店)</td>\n",
       "      <td>114.057054,22.546866</td>\n",
       "      <td>124.05</td>\n",
       "      <td>0755-23992079;0755-23992097;0755-26651502</td>\n",
       "      <td>餐饮服务;糕饼店;糕饼店</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>B02F37U6TX</td>\n",
       "      <td>东南</td>\n",
       "      <td>[]</td>\n",
       "      <td>深南大道深圳市民中心行政服务大厅西52</td>\n",
       "      <td>0.426771</td>\n",
       "      <td>深圳市教育局</td>\n",
       "      <td>114.057937,22.543400</td>\n",
       "      <td>297.666</td>\n",
       "      <td>[]</td>\n",
       "      <td>政府机构及社会团体;政府机关;地市级政府及事业单位</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>B02F38SWX3</td>\n",
       "      <td>东北</td>\n",
       "      <td>[]</td>\n",
       "      <td>鹏程三路附近</td>\n",
       "      <td>0.433088</td>\n",
       "      <td>深圳市中心区中轴线北中轴乐园</td>\n",
       "      <td>114.058496,22.547546</td>\n",
       "      <td>269.228</td>\n",
       "      <td>[]</td>\n",
       "      <td>风景名胜;公园广场;城市广场</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>B0FFFP097E</td>\n",
       "      <td>东南</td>\n",
       "      <td>[]</td>\n",
       "      <td>福中三路</td>\n",
       "      <td>0.191314</td>\n",
       "      <td>深圳市民中心C区</td>\n",
       "      <td>114.057756,22.543621</td>\n",
       "      <td>267.502</td>\n",
       "      <td>[]</td>\n",
       "      <td>政府机构及社会团体;政府机关;地市级政府及事业单位</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>B02F38JLPU</td>\n",
       "      <td>东北</td>\n",
       "      <td>[]</td>\n",
       "      <td>福中一路2016号深圳音乐厅1层</td>\n",
       "      <td>0.552863</td>\n",
       "      <td>大音琴院(福田店)</td>\n",
       "      <td>114.057428,22.546873</td>\n",
       "      <td>141.663</td>\n",
       "      <td>0755-82841456;0755-88306690</td>\n",
       "      <td>科教文化服务;培训机构;培训机构|购物服务;专卖店;专营店</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>B02F37VVU4</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路6009号新世界中心46层</td>\n",
       "      <td>0.522017</td>\n",
       "      <td>三星电子香港有限公司深圳代表处(鹏程二路)</td>\n",
       "      <td>114.055442,22.545184</td>\n",
       "      <td>144.06</td>\n",
       "      <td>0755-86085888</td>\n",
       "      <td>公司企业;公司;机械电子|公司企业;知名企业;知名企业</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>B02F38PEFN</td>\n",
       "      <td>西北</td>\n",
       "      <td>[]</td>\n",
       "      <td>益田路7019号深圳市儿童医院A楼1层</td>\n",
       "      <td>0.145524</td>\n",
       "      <td>深圳市儿童医院急诊</td>\n",
       "      <td>114.055400,22.547539</td>\n",
       "      <td>232.564</td>\n",
       "      <td>[]</td>\n",
       "      <td>医疗保健服务;专科医院;专科医院</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            id direction businessarea                   address poiweight  \\\n",
       "0   B02F37VHAS         东           []                 福中一路2001号  0.766983   \n",
       "1   B02F37TUYS        西北           []          益田路6013号江苏大厦A座1层  0.534285   \n",
       "2   B02F37U1UD        西南           []                  益田路6009号  0.578806   \n",
       "3   B02F300707         西           []                  益田路6013号  0.573271   \n",
       "4   B02F38TEBI         西           []                   益田路6013  0.383997   \n",
       "5   B02F38S856        东北           []         福中一路与鹏程三路交叉口西150米  0.207768   \n",
       "6   B0FFHHECXT        西北           []                益田路6013号北门  0.350666   \n",
       "7   B02F37T908         西           []     益田路6013江苏大厦B座B1002-08  0.126324   \n",
       "8   B02F37TKDI         西           []        益田路6013江苏大厦B座B1203  0.277704   \n",
       "9   B02F38R8B4        西南           []          益田路6009号新世界中心13层  0.271278   \n",
       "10  B02F37TNCE         西           []         益田路6013江苏大厦A座A25层  0.180154   \n",
       "11  B02F38SXFD        西南           []          益田路6009号新世界中心19层  0.144748   \n",
       "12  B02F38SXZG        西南           []                益田路6003-4号      0.48   \n",
       "13  B02F37W17Q         北           []                      鹏程三路  0.435452   \n",
       "14  B02F37VXZB        西南           []                益田路6003-4号    0.4718   \n",
       "15  B02F37UAM9        西南           []                益田路6003-4号  0.538682   \n",
       "16  B02F300691        东南           []                福中三路市民中心C区  0.656296   \n",
       "17  B02F37VXZC        西南           []          益田路6003号荣超商务中心首层   0.33615   \n",
       "18  B02F38RWRD        东南           []                福中三路市民中心C区  0.261006   \n",
       "19  B02F38SI22         东           []  红荔路深圳书城中心城南区175号(弘文书店对面)   0.35667   \n",
       "20  B0FFFTWG7A        西南           []                益田路6003-4号  0.339361   \n",
       "21  B02F38SZEA        东南           []            福中三路市民中心B区2-9楼      0.48   \n",
       "22  B02F30570I        西南           []           益田路6009号新世界中心3层  0.554389   \n",
       "23  B02F37TUYN         北           []       福中一路2016号音乐厅1层西侧玻璃房  0.287417   \n",
       "24  B02F37U6TX        东南           []       深南大道深圳市民中心行政服务大厅西52  0.426771   \n",
       "25  B02F38SWX3        东北           []                    鹏程三路附近  0.433088   \n",
       "26  B0FFFP097E        东南           []                      福中三路  0.191314   \n",
       "27  B02F38JLPU        东北           []          福中一路2016号深圳音乐厅1层  0.552863   \n",
       "28  B02F37VVU4        西南           []          益田路6009号新世界中心46层  0.522017   \n",
       "29  B02F38PEFN        西北           []       益田路7019号深圳市儿童医院A楼1层  0.145524   \n",
       "\n",
       "                     name              location distance  \\\n",
       "0                   深圳图书馆   114.05729,22.545657  65.7444   \n",
       "1          平安银行(深圳江苏大厦支行)  114.055646,22.546295  118.379   \n",
       "2                   新世界中心  114.055505,22.545307  132.091   \n",
       "3                    江苏大厦  114.055513,22.546183  126.032   \n",
       "4                  江苏大厦A座  114.055510,22.545686  120.016   \n",
       "5                深圳图书馆南书房  114.057280,22.546455  95.3197   \n",
       "6                  江苏大厦B座  114.055364,22.546447  151.892   \n",
       "7          深圳市才智培训中心(益田路)  114.055480,22.546224  130.776   \n",
       "8               天众传媒(益田路)  114.055480,22.546224  130.776   \n",
       "9             深圳市城市发展研究中心  114.055442,22.545184   144.06   \n",
       "10            深圳市英鹏英语培训中心  114.055480,22.546224  130.776   \n",
       "11      深圳市重点民营企业互保金管理委员会  114.055442,22.545184   144.06   \n",
       "12           广东华兴银行(深圳分行)  114.055736,22.543905  232.388   \n",
       "13                   艺术公寓  114.057119,22.547468  190.234   \n",
       "14            深圳建设银行分行营业部  114.055725,22.543640  259.932   \n",
       "15               荣超商务中心B座  114.055747,22.543974  224.962   \n",
       "16                深圳市人民政府  114.057939,22.543527  285.125   \n",
       "17         中国民生银行(深圳莲花支行)  114.055379,22.543552   283.82   \n",
       "18         深圳市人民政府应急管理办公室  114.057711,22.544110   216.94   \n",
       "19         英孚教育成人英语(市民中心)  114.059121,22.545915  251.899   \n",
       "20                 荣超商务中心  114.055522,22.543593  273.124   \n",
       "21         深圳市工业展览馆(福中三路)  114.059087,22.544055  315.532   \n",
       "22         潮泰轩贵宾楼(新世界中心北)  114.055443,22.545184   143.96   \n",
       "23              可颂坊(音乐厅店)  114.057054,22.546866   124.05   \n",
       "24                 深圳市教育局  114.057937,22.543400  297.666   \n",
       "25         深圳市中心区中轴线北中轴乐园  114.058496,22.547546  269.228   \n",
       "26               深圳市民中心C区  114.057756,22.543621  267.502   \n",
       "27              大音琴院(福田店)  114.057428,22.546873  141.663   \n",
       "28  三星电子香港有限公司深圳代表处(鹏程二路)  114.055442,22.545184   144.06   \n",
       "29              深圳市儿童医院急诊  114.055400,22.547539  232.564   \n",
       "\n",
       "                                          tel                           type  \n",
       "0                 0755-82841212;0755-82841211                 科教文化服务;图书馆;图书馆  \n",
       "1                 0755-82943264;0755-82940713                 金融保险服务;银行;平安银行  \n",
       "2                               0755-83238888                  商务住宅;楼宇;商务写字楼  \n",
       "3                 0755-83734688;0755-83734697                  商务住宅;楼宇;商务写字楼  \n",
       "4                                          []                  商务住宅;楼宇;商务写字楼  \n",
       "5                                          []                 科教文化服务;图书馆;图书馆  \n",
       "6                                          []                  商务住宅;楼宇;商务写字楼  \n",
       "7                                          []               科教文化服务;培训机构;培训机构  \n",
       "8                                          []               科教文化服务;传媒机构;传媒机构  \n",
       "9                               0755-82563933               科教文化服务;科研机构;科研机构  \n",
       "10                                         []               科教文化服务;培训机构;培训机构  \n",
       "11                                         []      政府机构及社会团体;政府机关;地市级政府及事业单位  \n",
       "12                              0755-22667575                   金融保险服务;银行;银行  \n",
       "13                                         []                  商务住宅;楼宇;商务写字楼  \n",
       "14                              0755-23828387               金融保险服务;银行;中国建设银行  \n",
       "15                                         []                  商务住宅;楼宇;商务写字楼  \n",
       "16                                         []      政府机构及社会团体;政府机关;地市级政府及事业单位  \n",
       "17          0755-23810026;0755-23810062;95568               金融保险服务;银行;中国民生银行  \n",
       "18                              0755-88128401      政府机构及社会团体;政府机关;地市级政府及事业单位  \n",
       "19                                 4001079100               科教文化服务;培训机构;培训机构  \n",
       "20                              0755-83836999                  商务住宅;楼宇;商务写字楼  \n",
       "21                0755-88121155;0755-88121362                 科教文化服务;展览馆;展览馆  \n",
       "22                0755-82991888;0755-82729988               餐饮服务;中餐厅;广东菜(粤菜)  \n",
       "23  0755-23992079;0755-23992097;0755-26651502                   餐饮服务;糕饼店;糕饼店  \n",
       "24                                         []      政府机构及社会团体;政府机关;地市级政府及事业单位  \n",
       "25                                         []                 风景名胜;公园广场;城市广场  \n",
       "26                                         []      政府机构及社会团体;政府机关;地市级政府及事业单位  \n",
       "27                0755-82841456;0755-88306690  科教文化服务;培训机构;培训机构|购物服务;专卖店;专营店  \n",
       "28                              0755-86085888    公司企业;公司;机械电子|公司企业;知名企业;知名企业  \n",
       "29                                         []               医疗保健服务;专科医院;专科医院  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# A-3 分析细节\n",
    "#roads：道路信息，roadinters：道路交叉口信息，aois：兴趣面信息，pois：兴趣点信息列表\n",
    "roads = pd.json_normalize(深圳图书馆逆地理编码_all['regeocode']['roads'])\n",
    "roadinters = pd.json_normalize(深圳图书馆逆地理编码_all['regeocode']['roadinters'])\n",
    "aois = pd.json_normalize(深圳图书馆逆地理编码_all['regeocode']['aois'])\n",
    "pois = pd.json_normalize(深圳图书馆逆地理编码_all['regeocode']['pois'])\n",
    "display(roads,roadinters,aois,pois)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 学生练习：\n",
    "1. 观察和练习其他参数\n",
    "2. 想得到更大范围的搜索POI如何操作\n",
    "3. * 请pandas学过的同学对address进行分组groupby练习，尝试找寻不同根类地址下的type（可选用你所找寻的地址，不一定用中大南方）\n",
    "4. * 请思考如何对不同类型的服务进行分类？如美食、旅馆、加油站...等\n",
    "![](lianxi01.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 路径规划（点到点的过程）  \n",
    "\n",
    "\n",
    "### 产品的设计思维 \n",
    "\n",
    "1. 请思考，什么样的产品需要路径规划？\n",
    "2. 如果你的产品需要，你会如何使用？\n",
    "3. 最优路线如何选择？高德会用到什么算法？（推荐系统）\n",
    "    1. 推荐系统输入location么？（起点、终点？还是全部点？）\n",
    "    2. 实时的定位？（多长时间定位一次）更新1\n",
    "    3. 定位完成其他点的变化？距离的选择（用户希望路边有更多的需求还是希望快速找到目的地？）\n",
    "    4. 以上思考的越多，你的产品考虑的会越周全，避免产品后期的大量更改。\n",
    "    \n",
    "4. 可能了解的知识面，不需要清楚怎么做，但可以了解输入输出的结果是什么。参考如下图\n",
    "\n",
    "![](http://imgtec.eetrend.com/files/2019-03/%E5%8D%9A%E5%AE%A2/100018447-63696-10.jpg)\n",
    "\n",
    "-----\n",
    "![](https://pic2.zhimg.com/50/v2-45a26a9985308d90405dea78e6892dd0_r.jpg)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 步行路径规划（API基本流程）（代码B）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### B-1 准备base url、params、response.json（） "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "# B-1 准备base url、params、response.json（） \n",
    "def walking(origin,destination,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/direction/walking?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'origin':origin,\n",
    "        'destination':destination,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### B-2 准备walking 参数\n",
    "\n",
    "请同学们尝试从A-3细节中获取的某两个教学楼的location，尝试步行路径规划（起点）🙅----->（终点）🙅‍"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'formatted_address': '广东省汕尾市陆丰市玄武山',\n",
       " 'country': '中国',\n",
       " 'province': '广东省',\n",
       " 'citycode': '0660',\n",
       " 'city': '汕尾市',\n",
       " 'district': '陆丰市',\n",
       " 'township': [],\n",
       " 'neighborhood': {'name': [], 'type': []},\n",
       " 'building': {'name': [], 'type': []},\n",
       " 'adcode': '441581',\n",
       " 'street': [],\n",
       " 'number': [],\n",
       " 'location': '115.833613,22.817774',\n",
       " 'level': '村庄'}"
      ]
     },
     "execution_count": 130,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "玄武山 = geocode('广东省汕尾市陆丰市玄武山')\n",
    "玄武山['geocodes'][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'count': '1',\n",
       " 'geocodes': [{'formatted_address': '广东省汕尾市陆丰市碣石镇',\n",
       "   'country': '中国',\n",
       "   'province': '广东省',\n",
       "   'citycode': '0660',\n",
       "   'city': '汕尾市',\n",
       "   'district': '陆丰市',\n",
       "   'township': [],\n",
       "   'neighborhood': {'name': [], 'type': []},\n",
       "   'building': {'name': [], 'type': []},\n",
       "   'adcode': '441581',\n",
       "   'street': [],\n",
       "   'number': [],\n",
       "   'location': '115.830379,22.816885',\n",
       "   'level': '乡镇'}]}"
      ]
     },
     "execution_count": 131,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "麦当劳=geocode('geocode东省汕尾市陆丰市碣石镇麦当劳')\n",
    "麦当劳"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### B-3 实现步行路径规划"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(起点)麦当劳_location: 115.830379,22.816885 (终点)玄武山_location: 115.833613,22.817774\n"
     ]
    }
   ],
   "source": [
    "# B-2 准备walking 参数\n",
    "玄武山 = geocode('广东省汕尾市陆丰市玄武山')\n",
    "玄武山_location = 玄武山['geocodes'][0]['location']\n",
    "麦当劳=geocode('geocode东省汕尾市陆丰市碣石镇麦当劳')\n",
    "麦当劳_location = 麦当劳['geocodes'][0]['location']\n",
    "print(\"(起点)麦当劳_location:\",麦当劳_location,\"(终点)玄武山_location:\",玄武山_location)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：规划步行路径功能，便于行人找到最优距离，最快速度的到达目的地，在一些导航app里可以用到语音识别功能里面去。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 学生练习（请换用其他地址满足以下要求）\n",
    "\n",
    "1. 请更换地址，选择尽量含有walk_type参数，并查看高德是否返回正确\n",
    "2. 尝试不同的地址，检查返回的json\n",
    "\n",
    "\n",
    "![](lianxi02.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 公交路线规划（代码C）\n",
    "\n",
    "1. 请同学们细读可使用的参数\n",
    "2. 尝试更改参数带到你想要的目标"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "# C-1\n",
    "def integrated(origin,destination,city,cityd='广东省佛山市顺德区史努比缤纷世界',extensions='base',strategy=0,nightflag=1,date=None,time=None,sig=None)->dict:\n",
    "    \"\"\"公交出行策略，strategy规则说明：0：最快捷模式，1：最经济模式，2：最少换乘模式，3：最少步行模式，5：不乘地铁模式\"\"\"\n",
    "    url = 'https://restapi.amap.com/v3/direction/transit/integrated?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'origin':origin,\n",
    "        'destination':destination,\n",
    "        'city':city,\n",
    "        'cityd':cityd,\n",
    "        'extensions':extensions,\n",
    "        'strategy':strategy,\n",
    "        'nightflag':nightflag,\n",
    "        'date':date,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "# C-2 准备walking 参数\n",
    "白云山 = geocode('广东省广东省广州市白云区白云山')\n",
    "白云山_location = 白云山['geocodes'][0]['location']\n",
    "莲花山公园 = geocode('广东省深圳市莲花山公园')\n",
    "莲花山公园_location = 莲花山公园['geocodes'][0]['location']\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>status</th>\n",
       "      <th>info</th>\n",
       "      <th>infocode</th>\n",
       "      <th>count</th>\n",
       "      <th>route.origin</th>\n",
       "      <th>route.destination</th>\n",
       "      <th>route.distance</th>\n",
       "      <th>route.taxi_cost</th>\n",
       "      <th>route.transits</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>OK</td>\n",
       "      <td>10000</td>\n",
       "      <td>3</td>\n",
       "      <td>113.304462,23.163476</td>\n",
       "      <td>114.058572,22.553523</td>\n",
       "      <td>131985</td>\n",
       "      <td>472.74150000000003</td>\n",
       "      <td>[{'cost': '51.5', 'duration': '18081', 'nightf...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  status info infocode count          route.origin     route.destination  \\\n",
       "0      1   OK    10000     3  113.304462,23.163476  114.058572,22.553523   \n",
       "\n",
       "  route.distance     route.taxi_cost  \\\n",
       "0         131985  472.74150000000003   \n",
       "\n",
       "                                      route.transits  \n",
       "0  [{'cost': '51.5', 'duration': '18081', 'nightf...  "
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#C-3 公交路径规划\n",
    "白云山_莲花山公园 = integrated(白云山_location,莲花山公园_location,city='广州',extensions='all')\n",
    "df_bus = pd.json_normalize(白云山_莲花山公园)\n",
    "df_bus\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>cost</th>\n",
       "      <th>duration</th>\n",
       "      <th>nightflag</th>\n",
       "      <th>walking_distance</th>\n",
       "      <th>distance</th>\n",
       "      <th>missed</th>\n",
       "      <th>segments</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>51.5</td>\n",
       "      <td>18081</td>\n",
       "      <td>0</td>\n",
       "      <td>2792</td>\n",
       "      <td>145349</td>\n",
       "      <td>1</td>\n",
       "      <td>[{'taxi': [], 'walking': {'origin': '113.30476...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>50.5</td>\n",
       "      <td>18269</td>\n",
       "      <td>0</td>\n",
       "      <td>2732</td>\n",
       "      <td>145238</td>\n",
       "      <td>1</td>\n",
       "      <td>[{'taxi': [], 'walking': {'origin': '113.30476...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>51.5</td>\n",
       "      <td>18009</td>\n",
       "      <td>0</td>\n",
       "      <td>2857</td>\n",
       "      <td>149385</td>\n",
       "      <td>1</td>\n",
       "      <td>[{'taxi': [], 'walking': {'origin': '113.30476...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   cost duration nightflag walking_distance distance missed  \\\n",
       "0  51.5    18081         0             2792   145349      1   \n",
       "1  50.5    18269         0             2732   145238      1   \n",
       "2  51.5    18009         0             2857   149385      1   \n",
       "\n",
       "                                            segments  \n",
       "0  [{'taxi': [], 'walking': {'origin': '113.30476...  \n",
       "1  [{'taxi': [], 'walking': {'origin': '113.30476...  \n",
       "2  [{'taxi': [], 'walking': {'origin': '113.30476...  "
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.json_normalize(白云山_莲花山公园[\"route\"]['transits'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>taxi</th>\n",
       "      <th>entrance</th>\n",
       "      <th>exit</th>\n",
       "      <th>walking.origin</th>\n",
       "      <th>walking.destination</th>\n",
       "      <th>walking.distance</th>\n",
       "      <th>walking.duration</th>\n",
       "      <th>walking.steps</th>\n",
       "      <th>bus.buslines</th>\n",
       "      <th>railway.via_stops</th>\n",
       "      <th>railway.alters</th>\n",
       "      <th>railway.spaces</th>\n",
       "      <th>entrance.name</th>\n",
       "      <th>entrance.location</th>\n",
       "      <th>exit.name</th>\n",
       "      <th>exit.location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.304764,23.163910</td>\n",
       "      <td>113.311073,23.155342</td>\n",
       "      <td>1352</td>\n",
       "      <td>1158</td>\n",
       "      <td>[{'instruction': '步行609米向左前方行走', 'road': [], '...</td>\n",
       "      <td>[{'departure_stop': {'name': '濂泉路口', 'id': '44...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>113.396477,23.124378</td>\n",
       "      <td>113.395554,23.124462</td>\n",
       "      <td>152</td>\n",
       "      <td>130</td>\n",
       "      <td>[{'instruction': '沿中山大道中步行38米左转', 'road': '中山大...</td>\n",
       "      <td>[{'departure_stop': {'name': '车陂', 'id': '4401...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>D口</td>\n",
       "      <td>113.396103,23.124125</td>\n",
       "      <td>C口</td>\n",
       "      <td>113.573509,22.753485</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.573059,22.753096</td>\n",
       "      <td>113.573410,22.754505</td>\n",
       "      <td>225</td>\n",
       "      <td>192</td>\n",
       "      <td>[{'instruction': '步行116米向右前方行走', 'road': [], '...</td>\n",
       "      <td>[{'departure_stop': {'name': '南沙小学西门(临时站)', 'i...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.888245,22.566050</td>\n",
       "      <td>113.888351,22.566584</td>\n",
       "      <td>101</td>\n",
       "      <td>86</td>\n",
       "      <td>[{'instruction': '步行56米左转', 'road': [], 'dista...</td>\n",
       "      <td>[{'departure_stop': {'name': '翻身小学', 'id': '44...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>114.054230,22.548260</td>\n",
       "      <td>114.059143,22.553133</td>\n",
       "      <td>962</td>\n",
       "      <td>824</td>\n",
       "      <td>[{'instruction': '沿红荔路步行73米向右前方行走', 'road': '红...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  taxi entrance exit        walking.origin   walking.destination  \\\n",
       "0   []       []   []  113.304764,23.163910  113.311073,23.155342   \n",
       "1   []      NaN  NaN  113.396477,23.124378  113.395554,23.124462   \n",
       "2   []       []   []  113.573059,22.753096  113.573410,22.754505   \n",
       "3   []       []   []  113.888245,22.566050  113.888351,22.566584   \n",
       "4   []       []   []  114.054230,22.548260  114.059143,22.553133   \n",
       "\n",
       "  walking.distance walking.duration  \\\n",
       "0             1352             1158   \n",
       "1              152              130   \n",
       "2              225              192   \n",
       "3              101               86   \n",
       "4              962              824   \n",
       "\n",
       "                                       walking.steps  \\\n",
       "0  [{'instruction': '步行609米向左前方行走', 'road': [], '...   \n",
       "1  [{'instruction': '沿中山大道中步行38米左转', 'road': '中山大...   \n",
       "2  [{'instruction': '步行116米向右前方行走', 'road': [], '...   \n",
       "3  [{'instruction': '步行56米左转', 'road': [], 'dista...   \n",
       "4  [{'instruction': '沿红荔路步行73米向右前方行走', 'road': '红...   \n",
       "\n",
       "                                        bus.buslines railway.via_stops  \\\n",
       "0  [{'departure_stop': {'name': '濂泉路口', 'id': '44...                []   \n",
       "1  [{'departure_stop': {'name': '车陂', 'id': '4401...                []   \n",
       "2  [{'departure_stop': {'name': '南沙小学西门(临时站)', 'i...                []   \n",
       "3  [{'departure_stop': {'name': '翻身小学', 'id': '44...                []   \n",
       "4                                                 []                []   \n",
       "\n",
       "  railway.alters railway.spaces entrance.name     entrance.location exit.name  \\\n",
       "0             []             []           NaN                   NaN       NaN   \n",
       "1             []             []            D口  113.396103,23.124125        C口   \n",
       "2             []             []           NaN                   NaN       NaN   \n",
       "3             []             []           NaN                   NaN       NaN   \n",
       "4             []             []           NaN                   NaN       NaN   \n",
       "\n",
       "          exit.location  \n",
       "0                   NaN  \n",
       "1  113.573509,22.753485  \n",
       "2                   NaN  \n",
       "3                   NaN  \n",
       "4                   NaN  "
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.json_normalize(白云山_莲花山公园[\"route\"]['transits'][0]['segments'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>id</th>\n",
       "      <th>type</th>\n",
       "      <th>distance</th>\n",
       "      <th>duration</th>\n",
       "      <th>polyline</th>\n",
       "      <th>bustimetag</th>\n",
       "      <th>start_time</th>\n",
       "      <th>end_time</th>\n",
       "      <th>via_num</th>\n",
       "      <th>via_stops</th>\n",
       "      <th>departure_stop.name</th>\n",
       "      <th>departure_stop.id</th>\n",
       "      <th>departure_stop.location</th>\n",
       "      <th>arrival_stop.name</th>\n",
       "      <th>arrival_stop.id</th>\n",
       "      <th>arrival_stop.location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B18路(永泰客运站总站--汇彩路北总站)</td>\n",
       "      <td>440100017322</td>\n",
       "      <td>[]</td>\n",
       "      <td>11584</td>\n",
       "      <td>2214</td>\n",
       "      <td>113.311081,23.155338;113.311310,23.155218;113....</td>\n",
       "      <td>0</td>\n",
       "      <td>0600</td>\n",
       "      <td>2230</td>\n",
       "      <td>8</td>\n",
       "      <td>[{'name': '省军区', 'id': '440100017322019', 'loc...</td>\n",
       "      <td>濂泉路口</td>\n",
       "      <td>440100017322018</td>\n",
       "      <td>113.311081,23.155338</td>\n",
       "      <td>车陂</td>\n",
       "      <td>440100017322032</td>\n",
       "      <td>113.396477,23.124380</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B16路(云台花园总站--黄埔体育中心总站)</td>\n",
       "      <td>440100017318</td>\n",
       "      <td>[]</td>\n",
       "      <td>10959</td>\n",
       "      <td>2829</td>\n",
       "      <td>113.311066,23.155346;113.311310,23.155218;113....</td>\n",
       "      <td>0</td>\n",
       "      <td>0630</td>\n",
       "      <td>2200</td>\n",
       "      <td>14</td>\n",
       "      <td>[{'name': '白云区医院站', 'id': '440100017318048', '...</td>\n",
       "      <td>濂泉路口</td>\n",
       "      <td>440100017318005</td>\n",
       "      <td>113.311066,23.155346</td>\n",
       "      <td>车陂</td>\n",
       "      <td>440100017318041</td>\n",
       "      <td>113.396446,23.124376</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     name            id type distance duration  \\\n",
       "0   B18路(永泰客运站总站--汇彩路北总站)  440100017322   []    11584     2214   \n",
       "1  B16路(云台花园总站--黄埔体育中心总站)  440100017318   []    10959     2829   \n",
       "\n",
       "                                            polyline bustimetag start_time  \\\n",
       "0  113.311081,23.155338;113.311310,23.155218;113....          0       0600   \n",
       "1  113.311066,23.155346;113.311310,23.155218;113....          0       0630   \n",
       "\n",
       "  end_time via_num                                          via_stops  \\\n",
       "0     2230       8  [{'name': '省军区', 'id': '440100017322019', 'loc...   \n",
       "1     2200      14  [{'name': '白云区医院站', 'id': '440100017318048', '...   \n",
       "\n",
       "  departure_stop.name departure_stop.id departure_stop.location  \\\n",
       "0                濂泉路口   440100017322018    113.311081,23.155338   \n",
       "1                濂泉路口   440100017318005    113.311066,23.155346   \n",
       "\n",
       "  arrival_stop.name  arrival_stop.id arrival_stop.location  \n",
       "0                车陂  440100017322032  113.396477,23.124380  \n",
       "1                车陂  440100017318041  113.396446,23.124376  "
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_bus_基本信息 = pd.json_normalize(白云山_莲花山公园[\"route\"]['transits'][0]['segments'][0]['bus'][\"buslines\"])\n",
    "df_bus_基本信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>省军区</td>\n",
       "      <td>440100017322019</td>\n",
       "      <td>113.319077,23.153521</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>东站汽车客运站</td>\n",
       "      <td>440100017322020</td>\n",
       "      <td>113.327766,23.151066</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广园天寿路口东</td>\n",
       "      <td>440100017322021</td>\n",
       "      <td>113.339096,23.146904</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>农科院</td>\n",
       "      <td>440100017322022</td>\n",
       "      <td>113.351509,23.144749</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>省农干科干院</td>\n",
       "      <td>440100017322023</td>\n",
       "      <td>113.358650,23.144939</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>科学院地化所</td>\n",
       "      <td>440100017322024</td>\n",
       "      <td>113.365997,23.142920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>棠德小区北</td>\n",
       "      <td>440100017322025</td>\n",
       "      <td>113.387901,23.135174</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>家家乐医院</td>\n",
       "      <td>440100017322026</td>\n",
       "      <td>113.393814,23.129353</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      name               id              location\n",
       "0      省军区  440100017322019  113.319077,23.153521\n",
       "1  东站汽车客运站  440100017322020  113.327766,23.151066\n",
       "2  广园天寿路口东  440100017322021  113.339096,23.146904\n",
       "3      农科院  440100017322022  113.351509,23.144749\n",
       "4   省农干科干院  440100017322023  113.358650,23.144939\n",
       "5   科学院地化所  440100017322024  113.365997,23.142920\n",
       "6    棠德小区北  440100017322025  113.387901,23.135174\n",
       "7    家家乐医院  440100017322026  113.393814,23.129353"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_bus_基本信息 = pd.json_normalize(白云山_莲花山公园[\"route\"]['transits'][0]['segments'][0]['bus'][\"buslines\"][0][\"via_stops\"])\n",
    "df_bus_基本信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>_285路公交车</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>省军区</td>\n",
       "      <td>440100017322019</td>\n",
       "      <td>113.319077,23.153521</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>东站汽车客运站</td>\n",
       "      <td>440100017322020</td>\n",
       "      <td>113.327766,23.151066</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广园天寿路口东</td>\n",
       "      <td>440100017322021</td>\n",
       "      <td>113.339096,23.146904</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>农科院</td>\n",
       "      <td>440100017322022</td>\n",
       "      <td>113.351509,23.144749</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>省农干科干院</td>\n",
       "      <td>440100017322023</td>\n",
       "      <td>113.358650,23.144939</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>科学院地化所</td>\n",
       "      <td>440100017322024</td>\n",
       "      <td>113.365997,23.142920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>棠德小区北</td>\n",
       "      <td>440100017322025</td>\n",
       "      <td>113.387901,23.135174</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>家家乐医院</td>\n",
       "      <td>440100017322026</td>\n",
       "      <td>113.393814,23.129353</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  _285路公交车               id              location\n",
       "0      省军区  440100017322019  113.319077,23.153521\n",
       "1  东站汽车客运站  440100017322020  113.327766,23.151066\n",
       "2  广园天寿路口东  440100017322021  113.339096,23.146904\n",
       "3      农科院  440100017322022  113.351509,23.144749\n",
       "4   省农干科干院  440100017322023  113.358650,23.144939\n",
       "5   科学院地化所  440100017322024  113.365997,23.142920\n",
       "6    棠德小区北  440100017322025  113.387901,23.135174\n",
       "7    家家乐医院  440100017322026  113.393814,23.129353"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# C-4 公交车信息处理结果\n",
    "_285路公交车 = pd.json_normalize(白云山_莲花山公园[\"route\"]['transits'][0]['segments'][0]['bus'][\"buslines\"][0][\"via_stops\"]).rename(columns={\"name\":\"_285路公交车\"})\n",
    "\n",
    "display(_285路公交车)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：规划好公交车的路线，帮助用户在陌生城市更好更快的找到合情合理的路，找到最优路线。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 距离测试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [],
   "source": [
    "def distance(origins,destination,type='1',sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/distance?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'origins':origins,\n",
    "        'destination':destination,\n",
    "        'type':type,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>status</th>\n",
       "      <th>info</th>\n",
       "      <th>infocode</th>\n",
       "      <th>results</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>OK</td>\n",
       "      <td>10000</td>\n",
       "      <td>[{'origin_id': '1', 'dest_id': '1', 'distance'...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  status info infocode                                            results\n",
       "0      1   OK    10000  [{'origin_id': '1', 'dest_id': '1', 'distance'..."
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# C-2 准备distance 参数\n",
    "白云山 = geocode('广东省广东省广州市白云区白云山')\n",
    "白云山_location = 白云山['geocodes'][0]['location']\n",
    "莲花山公园 = geocode('广东省深圳市莲花山公园')\n",
    "莲花山公园_location = 莲花山公园['geocodes'][0]['location']\n",
    "\n",
    "\n",
    "#C-3 公交路径规划\n",
    "白云山_莲花山公园 = distance(白云山_location,莲花山公园_location)\n",
    "df_busdistance = pd.json_normalize(白云山_莲花山公园)\n",
    "df_busdistance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>origin_id</th>\n",
       "      <th>dest_id</th>\n",
       "      <th>distance</th>\n",
       "      <th>duration</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>137449</td>\n",
       "      <td>10560</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  origin_id dest_id distance duration\n",
       "0         1       1   137449    10560"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_busdistance_基本信息 = pd.json_normalize(白云山_莲花山公园[\"results\"])\n",
    "df_busdistance_基本信息"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：观察最近路线，方便出行，节约时间"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 行政区域查询（代码D）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [],
   "source": [
    "# D-1 请注意行政区域级别划分参数\n",
    "def district(keywords,subdistrict=None,page=None,offset=None,extensions='base',filter=None,)->dict:\n",
    "    '''输入想要找行政地区的名称，即可反馈该地区的坐标等信息'''\n",
    "    url = 'https://restapi.amap.com/v3/config/district?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'keywords':keywords,\n",
    "        'subdistrict':subdistrict,\n",
    "        'page':page,\n",
    "        'offset':offset,\n",
    "        'extensions':extensions,\n",
    "        'filter':filter,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>citycode</th>\n",
       "      <th>adcode</th>\n",
       "      <th>name</th>\n",
       "      <th>center</th>\n",
       "      <th>level</th>\n",
       "      <th>districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>宝安区</td>\n",
       "      <td>113.828671,22.754741</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440306', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440305</td>\n",
       "      <td>南山区</td>\n",
       "      <td>113.92943,22.531221</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440305', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>福田区</td>\n",
       "      <td>114.05096,22.541009</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440304', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>盐田区</td>\n",
       "      <td>114.235366,22.555069</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440308', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>罗湖区</td>\n",
       "      <td>114.123885,22.555341</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440303', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>龙岗区</td>\n",
       "      <td>114.251372,22.721511</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440307', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0755</td>\n",
       "      <td>440309</td>\n",
       "      <td>龙华区</td>\n",
       "      <td>114.044346,22.691963</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440309', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0755</td>\n",
       "      <td>440310</td>\n",
       "      <td>坪山区</td>\n",
       "      <td>114.338441,22.69423</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440310', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0755</td>\n",
       "      <td>440311</td>\n",
       "      <td>光明区</td>\n",
       "      <td>113.935895,22.748816</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440311', 'nam...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  citycode  adcode name                center     level  \\\n",
       "0     0755  440306  宝安区  113.828671,22.754741  district   \n",
       "1     0755  440305  南山区   113.92943,22.531221  district   \n",
       "2     0755  440304  福田区   114.05096,22.541009  district   \n",
       "3     0755  440308  盐田区  114.235366,22.555069  district   \n",
       "4     0755  440303  罗湖区  114.123885,22.555341  district   \n",
       "5     0755  440307  龙岗区  114.251372,22.721511  district   \n",
       "6     0755  440309  龙华区  114.044346,22.691963  district   \n",
       "7     0755  440310  坪山区   114.338441,22.69423  district   \n",
       "8     0755  440311  光明区  113.935895,22.748816  district   \n",
       "\n",
       "                                           districts  \n",
       "0  [{'citycode': '0755', 'adcode': '440306', 'nam...  \n",
       "1  [{'citycode': '0755', 'adcode': '440305', 'nam...  \n",
       "2  [{'citycode': '0755', 'adcode': '440304', 'nam...  \n",
       "3  [{'citycode': '0755', 'adcode': '440308', 'nam...  \n",
       "4  [{'citycode': '0755', 'adcode': '440303', 'nam...  \n",
       "5  [{'citycode': '0755', 'adcode': '440307', 'nam...  \n",
       "6  [{'citycode': '0755', 'adcode': '440309', 'nam...  \n",
       "7  [{'citycode': '0755', 'adcode': '440310', 'nam...  \n",
       "8  [{'citycode': '0755', 'adcode': '440311', 'nam...  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>citycode</th>\n",
       "      <th>adcode</th>\n",
       "      <th>name</th>\n",
       "      <th>center</th>\n",
       "      <th>level</th>\n",
       "      <th>districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>海山街道</td>\n",
       "      <td>114.25,22.5611</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>市保税区</td>\n",
       "      <td>114.242,22.5594</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>梅沙街道</td>\n",
       "      <td>114.281,22.6424</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>盐田街道</td>\n",
       "      <td>114.252,22.5626</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>沙头角街道</td>\n",
       "      <td>114.205,22.5706</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  citycode  adcode   name           center   level districts\n",
       "0     0755  440308   海山街道   114.25,22.5611  street        []\n",
       "1     0755  440308   市保税区  114.242,22.5594  street        []\n",
       "2     0755  440308   梅沙街道  114.281,22.6424  street        []\n",
       "3     0755  440308   盐田街道  114.252,22.5626  street        []\n",
       "4     0755  440308  沙头角街道  114.205,22.5706  street        []"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "行政区域 = district(keywords='深圳',extensions='all',subdistrict=2)\n",
    "#行政区域\n",
    "df_行政区域_1级 = pd.json_normalize(行政区域[\"districts\"][0]['districts'])\n",
    "\n",
    "df_行政区域_2级_深圳市 = pd.json_normalize(行政区域[\"districts\"][0]['districts'][3]['districts'])\n",
    "display(df_行政区域_1级,df_行政区域_2级_深圳市)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：当客户想要找到人的时候，通过视觉计算机视觉系统提供信息，并结合行政区查询功能提供全国行政区信息查询平台，给用户一个方便查询行政信息的平台，方便其找人。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 搜索POI"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 关键字搜索（代码E）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '49',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'suggestion': {'keywords': [], 'cities': []},\n",
       " 'pois': [{'id': 'B0FFI9P7G8',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '深圳职业技术学院(东区)',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '西丽街道新围社区沙河西路4089号',\n",
       "   'location': '113.947812,22.591970',\n",
       "   'tel': '0755-26731352',\n",
       "   'postcode': '518055',\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440305',\n",
       "   'adname': '南山区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3313771502',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F017048_65376',\n",
       "   'entr_location': '113.9544,22.587789',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-07 15:24:09',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '5.0', 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [{'id': ' B02F37VJPR ',\n",
       "     'name': ' 深圳职业技术学院东区(西南门) ',\n",
       "     'sname': ' 西南门 ',\n",
       "     'location': '113.946177,22.590414',\n",
       "     'address': ' 新高路26号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B02F38I8YZ ',\n",
       "     'name': ' 深圳职业技术学院东区(北门) ',\n",
       "     'sname': ' 北门 ',\n",
       "     'location': '113.947960,22.591567',\n",
       "     'address': ' 沙河西路4089号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B0FFH347ZJ ',\n",
       "     'name': ' 深圳职业技术学院东区(西北门) ',\n",
       "     'sname': ' 西北门 ',\n",
       "     'location': '113.952785,22.587729',\n",
       "     'address': ' 沙河西路西200米 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B0FFG9U214 ',\n",
       "     'name': ' 深圳职业技术学院东区(东南1门) ',\n",
       "     'sname': ' 东南1门 ',\n",
       "     'location': '113.946368,22.590006',\n",
       "     'address': ' 同发路6之附近 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '}],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/e02a23d8e3cd790e94d8ff2a2c61daa2'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/4cb4a76cf8e635f35b5022bf16471b6c'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/c2144758b8d9b12a03e0585bf1fe3fe8'}]},\n",
       "  {'id': 'B02F37UIGT',\n",
       "   'parent': 'B0FFK135CJ',\n",
       "   'childtype': '309',\n",
       "   'name': '深圳大学粤海校区',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '南海大道3688号',\n",
       "   'location': '113.936683,22.532681',\n",
       "   'tel': '0755-26536114',\n",
       "   'postcode': '518060',\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440305',\n",
       "   'adname': '南山区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3313673422',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F018048_267106',\n",
       "   'entr_location': '113.932615,22.532919',\n",
       "   'business_area': '科技园',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-22 00:16:03',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [{'id': ' B0FFF3XB7T ',\n",
       "     'name': ' 深圳大学粤海校区(立德门) ',\n",
       "     'sname': ' 立德门 ',\n",
       "     'location': '113.932675,22.532914',\n",
       "     'address': ' 南海大道3688号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991401 '},\n",
       "    {'id': ' B02F37U84R ',\n",
       "     'name': ' 深圳大学粤海校区(西1门) ',\n",
       "     'sname': ' 西1门 ',\n",
       "     'location': '113.929909,22.527693',\n",
       "     'address': ' 南海大道3688号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B02F37U85P ',\n",
       "     'name': ' 深圳大学粤海校区(立言门) ',\n",
       "     'sname': ' 立言门 ',\n",
       "     'location': '113.938067,22.529393',\n",
       "     'address': ' 后海大道深圳大学 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B0FFFEWHOE ',\n",
       "     'name': ' 深圳大学粤海校区(北2门) ',\n",
       "     'sname': ' 北2门 ',\n",
       "     'location': '113.936446,22.538879',\n",
       "     'address': ' 南海大道368号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B02F38RJVA ',\n",
       "     'name': ' 深圳大学停车场 ',\n",
       "     'sname': ' 停车场 ',\n",
       "     'location': '113.933675,22.532606',\n",
       "     'address': ' 南海大道3688号深圳大学内 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '停车场',\n",
       "     'typecode': ' 150905 '},\n",
       "    {'id': ' B0FFG1LQX5 ',\n",
       "     'name': ' 深圳大学溜冰场停车场 ',\n",
       "     'sname': ' 停车场 ',\n",
       "     'location': '113.937889,22.531449',\n",
       "     'address': ' 南海大道3688号深圳大学内 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '停车场',\n",
       "     'typecode': ' 150905 '},\n",
       "    {'id': ' B0FFFEW8YP ',\n",
       "     'name': ' 深圳大学停车场 ',\n",
       "     'sname': ' 停车场 ',\n",
       "     'location': '113.936782,22.529593',\n",
       "     'address': ' 南海大道3688号深圳大学内 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '停车场',\n",
       "     'typecode': ' 150905 '}],\n",
       "   'photos': [{'title': '外景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/5ccae81406887a358ce0de597cb3df38'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/1c5ac33b5ae33e81971b9d38ff1c4545'},\n",
       "    {'title': '外景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/c9764cfaff1dfc03de2e0d13eadea6b3'}]},\n",
       "  {'id': 'B02F38J6V9',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '南方科技大学',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '西丽大学城学苑大道1088号(塘朗站)',\n",
       "   'location': '113.999887,22.598886',\n",
       "   'tel': '0755-88010000',\n",
       "   'postcode': '518055',\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440305',\n",
       "   'adname': '南山区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3313771922',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F017048_311148',\n",
       "   'entr_location': '113.999621,22.592484',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-22 03:38:40',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [{'id': ' B02F38JFR0 ',\n",
       "     'name': ' 南方科技大学(正门) ',\n",
       "     'sname': ' 正门 ',\n",
       "     'location': '113.999623,22.592481',\n",
       "     'address': ' 学苑大道1088号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B0FFF44UFJ ',\n",
       "     'name': ' 南方科技大学(北门) ',\n",
       "     'sname': ' 北门 ',\n",
       "     'location': '114.003498,22.603035',\n",
       "     'address': ' 南方科技大学 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B0FFFF7T2F ',\n",
       "     'name': ' 南方科技大学(西1门) ',\n",
       "     'sname': ' 西1门 ',\n",
       "     'location': '113.995248,22.593488',\n",
       "     'address': ' 南科一路与福光村路交叉口东50米 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B0FFFDZZCW ',\n",
       "     'name': ' 南方科技大学(7号门) ',\n",
       "     'sname': ' 7号门 ',\n",
       "     'location': '113.995143,22.594523',\n",
       "     'address': ' 南科一路 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B0FFFFQ0EP ',\n",
       "     'name': ' 南方科技大学(6号门) ',\n",
       "     'sname': ' 6号门 ',\n",
       "     'location': '113.996641,22.597045',\n",
       "     'address': ' 南科一路东50米 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B0FFH9YEJU ',\n",
       "     'name': ' 南方科技大学(3号门) ',\n",
       "     'sname': ' 3号门 ',\n",
       "     'location': '114.005510,22.596452',\n",
       "     'address': ' 学苑大道 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '}],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/9cea6559a3d8a6b60b8fb89b41773194'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/4984ae398ce4b3669c0c5fb86f6b49f3'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/fc138d59cf912f3cdc4fcf645f28f518'}]},\n",
       "  {'id': 'B02F38JF39',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '深圳信息职业技术学院',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '龙翔大道2188号(近体育新城)',\n",
       "   'location': '114.215574,22.684209',\n",
       "   'tel': '0755-89226777;0755-89226362;0755-89226363',\n",
       "   'postcode': '518172',\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440307',\n",
       "   'adname': '龙岗区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3414012700',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F50F016002_97534',\n",
       "   'entr_location': '114.212631,22.685361',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-10 18:17:43',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [{'id': ' B02F38JELR ',\n",
       "     'name': ' 深圳信息职业技术学院(西北门) ',\n",
       "     'sname': ' 西北门 ',\n",
       "     'location': '114.212750,22.685258',\n",
       "     'address': ' 龙翔大道2188号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '}],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/f81d0682a732312dd3e16e30991b62a0'},\n",
       "    {'title': [],\n",
       "     'url': 'http://aos-cdn-image.amap.com/sns/ugccomment/afe8c24b-ef96-426a-9a0a-52337af126d6.jpg'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/df09b0fb4c0bedb5aea66e954109f678'}]},\n",
       "  {'id': 'B02F37VHEM',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '深圳职业技术学院西丽湖校区',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '沙河西路4089号',\n",
       "   'location': '113.95113,22.588337',\n",
       "   'tel': '0755-26731352',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440305',\n",
       "   'adname': '南山区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3313770610',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': '113.954475,22.587806',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-01 11:43:37',\n",
       "   'alias': '深圳职业技术学院(原东校区)',\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [{'id': ' B02F37VQPY ',\n",
       "     'name': ' 深圳职业技术学院西丽湖校区(东北2门) ',\n",
       "     'sname': ' 东北2门 ',\n",
       "     'location': '113.954216,22.587755',\n",
       "     'address': ' 沙河西路4089号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B02F37V9JY ',\n",
       "     'name': ' 深圳职业技术学院西丽湖校区(南门) ',\n",
       "     'sname': ' 南门 ',\n",
       "     'location': '113.953028,22.584412',\n",
       "     'address': ' 沙河西路4089号南门 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '}],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/d813ab8d767f372d1c07cc088fa4a9e8'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/df29f3c61e6cb4ec84a7cc8df31ea014'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/30a71382b630559fc26fd444b5060e2b'}]},\n",
       "  {'id': 'B02F37UGFZ',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '深圳职业技术学院华侨城校区',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '香蜜湖街道香岭社区职教街3号',\n",
       "   'location': '113.999681,22.536615',\n",
       "   'tel': '0755-83710035',\n",
       "   'postcode': '518040',\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440304',\n",
       "   'adname': '福田区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3313674912',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F018048_267926',\n",
       "   'entr_location': '113.999388,22.537398',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-03-30 13:33:03',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [{'id': ' B02F37VY4L ',\n",
       "     'name': ' 深圳职业技术学院华侨城校区(北门) ',\n",
       "     'sname': ' 北门 ',\n",
       "     'location': '113.999382,22.537366',\n",
       "     'address': ' 职教街3号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991401 '}],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/7be4a9cc02c99499320a98d41ad29c33'},\n",
       "    {'title': '外景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/b3126b4058b9fbbb850e0f52fa30c23e'},\n",
       "    {'title': '外景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/51577f4cc41bc9ea742e04ec79e94905'}]},\n",
       "  {'id': 'B0FFHHKZQA',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '深圳北理莫斯科大学',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '龙岗公众高尔夫球场内',\n",
       "   'location': '114.20532,22.679921',\n",
       "   'tel': [],\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440307',\n",
       "   'adname': '龙岗区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3414011611',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': '114.207345,22.68314',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-14 13:43:25',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://aos-cdn-image.amap.com/sns/ugccomment/55c98d0b-c42a-4d14-8e95-41ce74caa4c1.jpg'},\n",
       "    {'title': [],\n",
       "     'url': 'http://aos-cdn-image.amap.com/sns/ugccomment/dd332935-f6e2-40db-9b1c-76baafc558de.jpg'},\n",
       "    {'title': [],\n",
       "     'url': 'http://aos-cdn-image.amap.com/sns/ugccomment/de130de8-c9ae-4824-b2c7-379ad00c362d.jpg'}]},\n",
       "  {'id': 'B0FFFTROX1',\n",
       "   'parent': 'B0FFLIWQP5',\n",
       "   'childtype': '309',\n",
       "   'name': '深圳大学丽湖校区',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '桃源街道学苑大道1066号',\n",
       "   'location': '113.992764,22.596789',\n",
       "   'tel': [],\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440305',\n",
       "   'adname': '南山区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3313771911',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F017048_22382',\n",
       "   'entr_location': '113.995091,22.596051',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-21 14:40:30',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [{'id': ' B0FFHQR3V1 ',\n",
       "     'name': ' 深圳大学丽湖校区(惟品门) ',\n",
       "     'sname': ' 惟品门 ',\n",
       "     'location': '113.989231,22.597147',\n",
       "     'address': ' 国家超级计算深圳中心旁边 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B0FFI4WZXJ ',\n",
       "     'name': ' 深圳大学丽湖校区(惟艺门) ',\n",
       "     'sname': ' 惟艺门 ',\n",
       "     'location': '113.995082,22.596052',\n",
       "     'address': '  ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '}],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/1f8ff4c1499d12cd8b7503c18c189d5c'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/e6733a974c84e7c23791da41bf0e2783'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/132dd2179a3ec7b0022a9d0157c48f24'}]},\n",
       "  {'id': 'B0FFF4H4MQ',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '香港中文大学(深圳)',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '龙翔大道2001号',\n",
       "   'location': '114.212776,22.688259',\n",
       "   'tel': '0755-84273117;0755-84273500',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440307',\n",
       "   'adname': '龙岗区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3414012710',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F50F016002_44804',\n",
       "   'entr_location': '114.211956,22.685194',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-03-17 11:30:42',\n",
       "   'alias': 'CUHK(SZ)',\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/0aa27ff73722853d4f8725888feee2c2'}]},\n",
       "  {'id': 'B02F309V6W',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '深圳广播电视大学龙岗分校',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '黄阁路160号',\n",
       "   'location': '114.219469,22.717279',\n",
       "   'tel': [],\n",
       "   'postcode': '518172',\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440307',\n",
       "   'adname': '龙岗区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3414016701',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F50F016002_1820',\n",
       "   'entr_location': '114.218446,22.716751',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-08 17:11:31',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [{'id': ' B02F37VHA3 ',\n",
       "     'name': ' 深圳广播电视大学龙岗分校(西北门) ',\n",
       "     'sname': ' 西北门 ',\n",
       "     'location': '114.218489,22.716732',\n",
       "     'address': ' 黄阁路160号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '}],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/b4d400a262072f8a8238c1e448b1b697'}]},\n",
       "  {'id': 'B02F309PEZ',\n",
       "   'parent': 'B0FFGZ06FC',\n",
       "   'childtype': '309',\n",
       "   'name': '北京大学深圳研究生院',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '丽水路2199号',\n",
       "   'location': '113.978203,22.592381',\n",
       "   'tel': '0755-26035373;0755-26035866',\n",
       "   'postcode': '518055',\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440305',\n",
       "   'adname': '南山区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3313771800',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F017048_54822;2005',\n",
       "   'entr_location': '113.974506,22.593092',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-14 15:33:22',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [{'id': ' B02F37VHWG ',\n",
       "     'name': ' 北京大学深圳研究生院(西北门) ',\n",
       "     'sname': ' 西北门 ',\n",
       "     'location': '113.974531,22.593031',\n",
       "     'address': ' 丽水路2199号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '},\n",
       "    {'id': ' B0FFFE0GDT ',\n",
       "     'name': ' 北京大学深圳研究生院(东北门) ',\n",
       "     'sname': ' 东北门 ',\n",
       "     'location': '113.980226,22.593138',\n",
       "     'address': ' 丽水路2199号东门 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '}],\n",
       "   'photos': [{'title': '外景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/c97f8086945334e47a71a0270b9ffbec'},\n",
       "    {'title': '内景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/640d79d82cf446aa34e99c02daf5a0b0'},\n",
       "    {'title': '外景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/c50c6aefbfd75a09886830ed18969b00'}]},\n",
       "  {'id': 'B02F38MFGW',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '广东新安职业技术学院',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '西丽沙河东路259号',\n",
       "   'location': '113.969408,22.555713',\n",
       "   'tel': '0755-36881358;0755-36881398',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440305',\n",
       "   'adname': '南山区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3313676721',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F018048_188816',\n",
       "   'entr_location': '113.969668,22.556581',\n",
       "   'business_area': '科技园',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-03-31 11:07:45',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/b6f758aa529d0d2aa54027d8c415bc90'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/6a77a8b62fa3db155578d967d9ba78e2'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/49d27822009ffc66938f96f19ab351dd'}]},\n",
       "  {'id': 'B02F3009B6',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '深圳城市学院',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '振华路21号',\n",
       "   'location': '114.094773,22.544194',\n",
       "   'tel': '0755-83749680;0755-25949211',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440304',\n",
       "   'adname': '福田区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3314605701',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F50F018001_63742',\n",
       "   'entr_location': '114.094959,22.544532',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-03-10 10:55:31',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/5592267fa310e499fdb58393'},\n",
       "    {'title': '内景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/feb0e38c086659991975e5d57e46301a'},\n",
       "    {'title': '内景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/48db4b277cc56cf6f5d253b33b1d21b5'}]},\n",
       "  {'id': 'B02F37TPA7',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '深圳中华文化学院',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '香蜜湖北路2018号',\n",
       "   'location': '114.027045,22.544852',\n",
       "   'tel': [],\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440304',\n",
       "   'adname': '福田区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3314605210',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F50F018001_59238',\n",
       "   'entr_location': '114.027356,22.544665',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-03-11 15:43:39',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/cabb07c55c5fd0d0c173d32188aa22c0'}]},\n",
       "  {'id': 'B02F37WK3J',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '招银大学',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '沿山路9号',\n",
       "   'location': '113.911901,22.488511',\n",
       "   'tel': '0755-26898688',\n",
       "   'postcode': '518067',\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440305',\n",
       "   'adname': '南山区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3313578212',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F019048_53129',\n",
       "   'entr_location': '113.912859,22.488406',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-20 17:53:31',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [{'id': ' B02F37WK3I ',\n",
       "     'name': ' 招银大学(东北门) ',\n",
       "     'sname': ' 东北门 ',\n",
       "     'location': '113.912770,22.488421',\n",
       "     'address': ' 沿山路9号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '}],\n",
       "   'photos': [{'title': '内景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/86dd830f34e6954eef46ce67d8455b06'},\n",
       "    {'title': '外景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/26e7c78a1a28add03f57875eacedded1'},\n",
       "    {'title': '外景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/e6024234c3b528632d2c225e310e182f'}]},\n",
       "  {'id': 'B0FFIIT4FZ',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '宝康培训深圳大学',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '福永大道与芳华一路交叉口东南50米',\n",
       "   'location': '113.819855,22.668360',\n",
       "   'tel': [],\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440306',\n",
       "   'adname': '宝安区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413060501',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': [],\n",
       "   'business_area': '福永',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-02-06 10:48:55',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B02F37VMKR',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '辽阳职业技术学院深圳分教处',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '新塘路138号',\n",
       "   'location': '114.198988,22.635940',\n",
       "   'tel': [],\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440307',\n",
       "   'adname': '龙岗区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3314716502',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F50F017002_2438',\n",
       "   'entr_location': [],\n",
       "   'business_area': '横岗',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-01 14:18:02',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B02F30087E',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '深圳广播电视大学',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '解放路4006-4008号',\n",
       "   'location': '114.109739,22.543859',\n",
       "   'tel': '0755-82116765;0755-82116780',\n",
       "   'postcode': '518001',\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440303',\n",
       "   'adname': '罗湖区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3314605802',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F50F018001_31519',\n",
       "   'entr_location': '114.110010,22.543309',\n",
       "   'business_area': '东门',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-02 17:37:45',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [{'id': ' B0FFG8V7EO ',\n",
       "     'name': ' 深圳广播电视大学(东南门) ',\n",
       "     'sname': ' 东南门 ',\n",
       "     'location': '114.110010,22.543320',\n",
       "     'address': ' 解放路4006-4008号 ',\n",
       "     'distance': ' 0 ',\n",
       "     'subtype': '门',\n",
       "     'typecode': ' 991400 '}],\n",
       "   'photos': [{'title': '外景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/0953189dc921040b5aa117239ffbee50'},\n",
       "    {'title': '内景图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/bc863bdea978cd14cc6cb7ecd140b6a0'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/559a3c1fa310b38d66d3586f'}]},\n",
       "  {'id': 'B0FFGHNMWA',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '清华-伯克利深圳学院',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '学苑大道1001号南山智园C3栋',\n",
       "   'location': '114.005173,22.595147',\n",
       "   'tel': [],\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440305',\n",
       "   'adname': '南山区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3314701011',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F50F017001_427344',\n",
       "   'entr_location': [],\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-21 18:05:58',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/6dabf80c9a8d36819cd4bdb05aded37f'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/d8133099e01ab30cf81e6da412eb0854'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/5a5fd76ccf2dbe774c3537da04fc18ea'}]},\n",
       "  {'id': 'B02F37TC8W',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '哈尔滨工业大学',\n",
       "   'tag': [],\n",
       "   'type': '科教文化服务;学校;高等院校',\n",
       "   'typecode': '141201',\n",
       "   'biz_type': [],\n",
       "   'address': '科技南十路6号深圳航天科技创新研究院D601-602',\n",
       "   'location': '113.954056,22.537660',\n",
       "   'tel': '18926160993',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '0755',\n",
       "   'cityname': '深圳市',\n",
       "   'adcode': '440305',\n",
       "   'adname': '南山区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3313674610',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': '113.953975,22.53771',\n",
       "   'business_area': '大冲',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-08 16:02:14',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': []},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/16ef443333ce2641170a4db0410ec71f'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/18a22384099831b70ca279689a2a4f81'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/443d3c92e1a05780dd676e2719ffde76'}]}]}"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# E-1\n",
    "def place_text(keywords,types,city=None,citylimit=None,children=None,page=None,extensions='base',sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/place/text?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'keywords':keywords,\n",
    "        'types':types,\n",
    "        'city':city,\n",
    "        'citylimit':citylimit,\n",
    "        'children':children,\n",
    "        'page':page,\n",
    "        'extensions':extensions,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "深圳_大学 = place_text('大学','高等院校',city=\"深圳市\",children=1,extensions='all')\n",
    "深圳_大学\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>parent</th>\n",
       "      <th>childtype</th>\n",
       "      <th>name</th>\n",
       "      <th>tag</th>\n",
       "      <th>type</th>\n",
       "      <th>typecode</th>\n",
       "      <th>biz_type</th>\n",
       "      <th>address</th>\n",
       "      <th>location</th>\n",
       "      <th>...</th>\n",
       "      <th>discount_num</th>\n",
       "      <th>event</th>\n",
       "      <th>children</th>\n",
       "      <th>photos</th>\n",
       "      <th>indoor_data.cpid</th>\n",
       "      <th>indoor_data.floor</th>\n",
       "      <th>indoor_data.truefloor</th>\n",
       "      <th>indoor_data.cmsid</th>\n",
       "      <th>biz_ext.rating</th>\n",
       "      <th>biz_ext.cost</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B0FFI9P7G8</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>深圳职业技术学院(东区)</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>西丽街道新围社区沙河西路4089号</td>\n",
       "      <td>113.947812,22.591970</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B02F37VJPR ', 'name': ' 深圳职业技术学院东区(西...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>5.0</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B02F37UIGT</td>\n",
       "      <td>B0FFK135CJ</td>\n",
       "      <td>309</td>\n",
       "      <td>深圳大学粤海校区</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>南海大道3688号</td>\n",
       "      <td>113.936683,22.532681</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B0FFF3XB7T ', 'name': ' 深圳大学粤海校区(立德门...</td>\n",
       "      <td>[{'title': '外景图', 'url': 'http://store.is.auto...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B02F38J6V9</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>南方科技大学</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>西丽大学城学苑大道1088号(塘朗站)</td>\n",
       "      <td>113.999887,22.598886</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B02F38JFR0 ', 'name': ' 南方科技大学(正门) '...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>B02F38JF39</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>深圳信息职业技术学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>龙翔大道2188号(近体育新城)</td>\n",
       "      <td>114.215574,22.684209</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B02F38JELR ', 'name': ' 深圳信息职业技术学院(西...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>B02F37VHEM</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>深圳职业技术学院西丽湖校区</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>沙河西路4089号</td>\n",
       "      <td>113.95113,22.588337</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B02F37VQPY ', 'name': ' 深圳职业技术学院西丽湖校...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B02F37UGFZ</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>深圳职业技术学院华侨城校区</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>香蜜湖街道香岭社区职教街3号</td>\n",
       "      <td>113.999681,22.536615</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B02F37VY4L ', 'name': ' 深圳职业技术学院华侨城校...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>B0FFHHKZQA</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>深圳北理莫斯科大学</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>龙岗公众高尔夫球场内</td>\n",
       "      <td>114.20532,22.679921</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://aos-cdn-image.am...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>B0FFFTROX1</td>\n",
       "      <td>B0FFLIWQP5</td>\n",
       "      <td>309</td>\n",
       "      <td>深圳大学丽湖校区</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>桃源街道学苑大道1066号</td>\n",
       "      <td>113.992764,22.596789</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B0FFHQR3V1 ', 'name': ' 深圳大学丽湖校区(惟品门...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B0FFF4H4MQ</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>香港中文大学(深圳)</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>龙翔大道2001号</td>\n",
       "      <td>114.212776,22.688259</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>B02F309V6W</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>深圳广播电视大学龙岗分校</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>黄阁路160号</td>\n",
       "      <td>114.219469,22.717279</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B02F37VHA3 ', 'name': ' 深圳广播电视大学龙岗分校...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>B02F309PEZ</td>\n",
       "      <td>B0FFGZ06FC</td>\n",
       "      <td>309</td>\n",
       "      <td>北京大学深圳研究生院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>丽水路2199号</td>\n",
       "      <td>113.978203,22.592381</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B02F37VHWG ', 'name': ' 北京大学深圳研究生院(西...</td>\n",
       "      <td>[{'title': '外景图', 'url': 'http://store.is.auto...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>B02F38MFGW</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>广东新安职业技术学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>西丽沙河东路259号</td>\n",
       "      <td>113.969408,22.555713</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>B02F3009B6</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>深圳城市学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>振华路21号</td>\n",
       "      <td>114.094773,22.544194</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>B02F37TPA7</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>深圳中华文化学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>香蜜湖北路2018号</td>\n",
       "      <td>114.027045,22.544852</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>B02F37WK3J</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>招银大学</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>沿山路9号</td>\n",
       "      <td>113.911901,22.488511</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B02F37WK3I ', 'name': ' 招银大学(东北门) ',...</td>\n",
       "      <td>[{'title': '内景图', 'url': 'http://store.is.auto...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>B0FFIIT4FZ</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>宝康培训深圳大学</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>福永大道与芳华一路交叉口东南50米</td>\n",
       "      <td>113.819855,22.668360</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>B02F37VMKR</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>辽阳职业技术学院深圳分教处</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>新塘路138号</td>\n",
       "      <td>114.198988,22.635940</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>B02F30087E</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>深圳广播电视大学</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>解放路4006-4008号</td>\n",
       "      <td>114.109739,22.543859</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B0FFG8V7EO ', 'name': ' 深圳广播电视大学(东南门...</td>\n",
       "      <td>[{'title': '外景图', 'url': 'http://store.is.auto...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>B0FFGHNMWA</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>清华-伯克利深圳学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>学苑大道1001号南山智园C3栋</td>\n",
       "      <td>114.005173,22.595147</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>B02F37TC8W</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>哈尔滨工业大学</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>科技南十路6号深圳航天科技创新研究院D601-602</td>\n",
       "      <td>113.954056,22.537660</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>20 rows × 46 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            id      parent childtype           name tag            type  \\\n",
       "0   B0FFI9P7G8          []        []   深圳职业技术学院(东区)  []  科教文化服务;学校;高等院校   \n",
       "1   B02F37UIGT  B0FFK135CJ       309       深圳大学粤海校区  []  科教文化服务;学校;高等院校   \n",
       "2   B02F38J6V9          []        []         南方科技大学  []  科教文化服务;学校;高等院校   \n",
       "3   B02F38JF39          []        []     深圳信息职业技术学院  []  科教文化服务;学校;高等院校   \n",
       "4   B02F37VHEM          []        []  深圳职业技术学院西丽湖校区  []  科教文化服务;学校;高等院校   \n",
       "5   B02F37UGFZ          []        []  深圳职业技术学院华侨城校区  []  科教文化服务;学校;高等院校   \n",
       "6   B0FFHHKZQA          []        []      深圳北理莫斯科大学  []  科教文化服务;学校;高等院校   \n",
       "7   B0FFFTROX1  B0FFLIWQP5       309       深圳大学丽湖校区  []  科教文化服务;学校;高等院校   \n",
       "8   B0FFF4H4MQ          []        []     香港中文大学(深圳)  []  科教文化服务;学校;高等院校   \n",
       "9   B02F309V6W          []        []   深圳广播电视大学龙岗分校  []  科教文化服务;学校;高等院校   \n",
       "10  B02F309PEZ  B0FFGZ06FC       309     北京大学深圳研究生院  []  科教文化服务;学校;高等院校   \n",
       "11  B02F38MFGW          []        []     广东新安职业技术学院  []  科教文化服务;学校;高等院校   \n",
       "12  B02F3009B6          []        []         深圳城市学院  []  科教文化服务;学校;高等院校   \n",
       "13  B02F37TPA7          []        []       深圳中华文化学院  []  科教文化服务;学校;高等院校   \n",
       "14  B02F37WK3J          []        []           招银大学  []  科教文化服务;学校;高等院校   \n",
       "15  B0FFIIT4FZ          []        []       宝康培训深圳大学  []  科教文化服务;学校;高等院校   \n",
       "16  B02F37VMKR          []        []  辽阳职业技术学院深圳分教处  []  科教文化服务;学校;高等院校   \n",
       "17  B02F30087E          []        []       深圳广播电视大学  []  科教文化服务;学校;高等院校   \n",
       "18  B0FFGHNMWA          []        []     清华-伯克利深圳学院  []  科教文化服务;学校;高等院校   \n",
       "19  B02F37TC8W          []        []        哈尔滨工业大学  []  科教文化服务;学校;高等院校   \n",
       "\n",
       "   typecode biz_type                     address              location  ...  \\\n",
       "0    141201       []           西丽街道新围社区沙河西路4089号  113.947812,22.591970  ...   \n",
       "1    141201       []                   南海大道3688号  113.936683,22.532681  ...   \n",
       "2    141201       []         西丽大学城学苑大道1088号(塘朗站)  113.999887,22.598886  ...   \n",
       "3    141201       []            龙翔大道2188号(近体育新城)  114.215574,22.684209  ...   \n",
       "4    141201       []                   沙河西路4089号   113.95113,22.588337  ...   \n",
       "5    141201       []              香蜜湖街道香岭社区职教街3号  113.999681,22.536615  ...   \n",
       "6    141201       []                  龙岗公众高尔夫球场内   114.20532,22.679921  ...   \n",
       "7    141201       []               桃源街道学苑大道1066号  113.992764,22.596789  ...   \n",
       "8    141201       []                   龙翔大道2001号  114.212776,22.688259  ...   \n",
       "9    141201       []                     黄阁路160号  114.219469,22.717279  ...   \n",
       "10   141201       []                    丽水路2199号  113.978203,22.592381  ...   \n",
       "11   141201       []                  西丽沙河东路259号  113.969408,22.555713  ...   \n",
       "12   141201       []                      振华路21号  114.094773,22.544194  ...   \n",
       "13   141201       []                  香蜜湖北路2018号  114.027045,22.544852  ...   \n",
       "14   141201       []                       沿山路9号  113.911901,22.488511  ...   \n",
       "15   141201       []           福永大道与芳华一路交叉口东南50米  113.819855,22.668360  ...   \n",
       "16   141201       []                     新塘路138号  114.198988,22.635940  ...   \n",
       "17   141201       []               解放路4006-4008号  114.109739,22.543859  ...   \n",
       "18   141201       []            学苑大道1001号南山智园C3栋  114.005173,22.595147  ...   \n",
       "19   141201       []  科技南十路6号深圳航天科技创新研究院D601-602  113.954056,22.537660  ...   \n",
       "\n",
       "   discount_num event                                           children  \\\n",
       "0             0    []  [{'id': ' B02F37VJPR ', 'name': ' 深圳职业技术学院东区(西...   \n",
       "1             0    []  [{'id': ' B0FFF3XB7T ', 'name': ' 深圳大学粤海校区(立德门...   \n",
       "2             0    []  [{'id': ' B02F38JFR0 ', 'name': ' 南方科技大学(正门) '...   \n",
       "3             0    []  [{'id': ' B02F38JELR ', 'name': ' 深圳信息职业技术学院(西...   \n",
       "4             0    []  [{'id': ' B02F37VQPY ', 'name': ' 深圳职业技术学院西丽湖校...   \n",
       "5             0    []  [{'id': ' B02F37VY4L ', 'name': ' 深圳职业技术学院华侨城校...   \n",
       "6             0    []                                                 []   \n",
       "7             0    []  [{'id': ' B0FFHQR3V1 ', 'name': ' 深圳大学丽湖校区(惟品门...   \n",
       "8             0    []                                                 []   \n",
       "9             0    []  [{'id': ' B02F37VHA3 ', 'name': ' 深圳广播电视大学龙岗分校...   \n",
       "10            0    []  [{'id': ' B02F37VHWG ', 'name': ' 北京大学深圳研究生院(西...   \n",
       "11            0    []                                                 []   \n",
       "12            0    []                                                 []   \n",
       "13            0    []                                                 []   \n",
       "14            0    []  [{'id': ' B02F37WK3I ', 'name': ' 招银大学(东北门) ',...   \n",
       "15            0    []                                                 []   \n",
       "16            0    []                                                 []   \n",
       "17            0    []  [{'id': ' B0FFG8V7EO ', 'name': ' 深圳广播电视大学(东南门...   \n",
       "18            0    []                                                 []   \n",
       "19            0    []                                                 []   \n",
       "\n",
       "                                               photos indoor_data.cpid  \\\n",
       "0   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "1   [{'title': '外景图', 'url': 'http://store.is.auto...               []   \n",
       "2   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "3   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "4   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "5   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "6   [{'title': [], 'url': 'http://aos-cdn-image.am...               []   \n",
       "7   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "8   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "9   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "10  [{'title': '外景图', 'url': 'http://store.is.auto...               []   \n",
       "11  [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "12  [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "13  [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "14  [{'title': '内景图', 'url': 'http://store.is.auto...               []   \n",
       "15                                                 []               []   \n",
       "16                                                 []               []   \n",
       "17  [{'title': '外景图', 'url': 'http://store.is.auto...               []   \n",
       "18  [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "19  [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "\n",
       "   indoor_data.floor indoor_data.truefloor indoor_data.cmsid biz_ext.rating  \\\n",
       "0                 []                    []                []            5.0   \n",
       "1                 []                    []                []             []   \n",
       "2                 []                    []                []             []   \n",
       "3                 []                    []                []             []   \n",
       "4                 []                    []                []             []   \n",
       "5                 []                    []                []             []   \n",
       "6                 []                    []                []             []   \n",
       "7                 []                    []                []             []   \n",
       "8                 []                    []                []             []   \n",
       "9                 []                    []                []             []   \n",
       "10                []                    []                []             []   \n",
       "11                []                    []                []             []   \n",
       "12                []                    []                []             []   \n",
       "13                []                    []                []             []   \n",
       "14                []                    []                []             []   \n",
       "15                []                    []                []             []   \n",
       "16                []                    []                []             []   \n",
       "17                []                    []                []             []   \n",
       "18                []                    []                []             []   \n",
       "19                []                    []                []             []   \n",
       "\n",
       "   biz_ext.cost  \n",
       "0            []  \n",
       "1            []  \n",
       "2            []  \n",
       "3            []  \n",
       "4            []  \n",
       "5            []  \n",
       "6            []  \n",
       "7            []  \n",
       "8            []  \n",
       "9            []  \n",
       "10           []  \n",
       "11           []  \n",
       "12           []  \n",
       "13           []  \n",
       "14           []  \n",
       "15           []  \n",
       "16           []  \n",
       "17           []  \n",
       "18           []  \n",
       "19           []  \n",
       "\n",
       "[20 rows x 46 columns]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>name</th>\n",
       "      <th>sname</th>\n",
       "      <th>location</th>\n",
       "      <th>address</th>\n",
       "      <th>distance</th>\n",
       "      <th>subtype</th>\n",
       "      <th>typecode</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B0FFHQR3V1</td>\n",
       "      <td>深圳大学丽湖校区(惟品门)</td>\n",
       "      <td>惟品门</td>\n",
       "      <td>113.989231,22.597147</td>\n",
       "      <td>国家超级计算深圳中心旁边</td>\n",
       "      <td>0</td>\n",
       "      <td>门</td>\n",
       "      <td>991400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B0FFI4WZXJ</td>\n",
       "      <td>深圳大学丽湖校区(惟艺门)</td>\n",
       "      <td>惟艺门</td>\n",
       "      <td>113.995082,22.596052</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "      <td>门</td>\n",
       "      <td>991400</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             id             name  sname              location         address  \\\n",
       "0   B0FFHQR3V1    深圳大学丽湖校区(惟品门)    惟品门   113.989231,22.597147   国家超级计算深圳中心旁边    \n",
       "1   B0FFI4WZXJ    深圳大学丽湖校区(惟艺门)    惟艺门   113.995082,22.596052                   \n",
       "\n",
       "  distance subtype  typecode  \n",
       "0       0        门   991400   \n",
       "1       0        门   991400   "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_深圳_大学 = pd.json_normalize(深圳_大学[\"pois\"])\n",
    "df_深圳_大学_广州大学 = pd.json_normalize(深圳_大学[\"pois\"][7][\"children\"])\n",
    "display(df_深圳_大学,df_深圳_大学_广州大学)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：通过关键词和关键字来搜索，调用起api，把相关的事都显示出来，便于用户寻找"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 周边搜索 (代码F)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [],
   "source": [
    "# F-1 \n",
    "def place_around(location,keywords=None,types=None,city=None,redius=None,sortrule=None,offset=None,page=None,extensions='base',sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/place/around?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'keywords':keywords,\n",
    "        'location':location,\n",
    "        'types':types,\n",
    "        'city':city,\n",
    "        'redius':redius,\n",
    "        'sortrule':sortrule,\n",
    "        'offset':offset,\n",
    "        'page':page,\n",
    "        'extensions':extensions,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'info': 'OK', 'infocode': '10000', 'count': '1', 'geocodes': [{'formatted_address': '广东省深圳市南山区深圳大学', 'country': '中国', 'province': '广东省', 'citycode': '0755', 'city': '深圳市', 'district': '南山区', 'township': [], 'neighborhood': {'name': [], 'type': []}, 'building': {'name': [], 'type': []}, 'adcode': '440305', 'street': [], 'number': [], 'location': '113.935097,22.527939', 'level': '兴趣点'}]}\n"
     ]
    }
   ],
   "source": [
    "深圳大学 = geocode('广东省深圳市深圳大学')\n",
    "print(深圳大学)\n",
    "深圳大学_location = 深圳大学['geocodes'][0]['location']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '878',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'suggestion': {'keywords': [], 'cities': []},\n",
       " 'pois': [{'id': 'B0FFFEW8YX',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '海涛楼',\n",
       "   'type': '商务住宅;住宅区;宿舍',\n",
       "   'typecode': '120303',\n",
       "   'biz_type': [],\n",
       "   'address': '南海大道3688号',\n",
       "   'location': '113.935146,22.528299',\n",
       "   'tel': [],\n",
       "   'distance': '40',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFFEWAL4',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '云鹏楼',\n",
       "   'type': '商务住宅;住宅区;宿舍',\n",
       "   'typecode': '120303',\n",
       "   'biz_type': [],\n",
       "   'address': '南海大道3688号',\n",
       "   'location': '113.934550,22.528121',\n",
       "   'tel': [],\n",
       "   'distance': '59',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFG8RF13',\n",
       "   'parent': 'B0FFK135CJ',\n",
       "   'childtype': '309',\n",
       "   'name': '深圳大学乔梧阁',\n",
       "   'type': '商务住宅;住宅区;宿舍',\n",
       "   'typecode': '120303',\n",
       "   'biz_type': [],\n",
       "   'address': '深大东路附近',\n",
       "   'location': '113.934480,22.527717',\n",
       "   'tel': [],\n",
       "   'distance': '68',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFFEW8YD',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '海望楼',\n",
       "   'type': '商务住宅;住宅区;宿舍',\n",
       "   'typecode': '120303',\n",
       "   'biz_type': [],\n",
       "   'address': '南海大道3688号',\n",
       "   'location': '113.935451,22.528515',\n",
       "   'tel': [],\n",
       "   'distance': '73',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFFEW8XL',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '海山楼',\n",
       "   'type': '商务住宅;住宅区;宿舍',\n",
       "   'typecode': '120303',\n",
       "   'biz_type': [],\n",
       "   'address': '后海大道西200米',\n",
       "   'location': '113.935146,22.528633',\n",
       "   'tel': [],\n",
       "   'distance': '77',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFLJEO82',\n",
       "   'parent': 'B02F37UIGT',\n",
       "   'childtype': '309',\n",
       "   'name': '深圳大学海星楼',\n",
       "   'type': '商务住宅;住宅区;宿舍',\n",
       "   'typecode': '120303',\n",
       "   'biz_type': [],\n",
       "   'address': '南海大道3688号深圳大学',\n",
       "   'location': '113.934642,22.528559',\n",
       "   'tel': [],\n",
       "   'distance': '83',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFKUODTU',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '京餐厅',\n",
       "   'type': '餐饮服务;餐饮相关场所;餐饮相关',\n",
       "   'typecode': '050000',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '学府路4-17号',\n",
       "   'location': '113.935302,22.527140',\n",
       "   'tel': [],\n",
       "   'distance': '91',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFFEW8XP',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '海青楼',\n",
       "   'type': '商务住宅;住宅区;宿舍',\n",
       "   'typecode': '120303',\n",
       "   'biz_type': [],\n",
       "   'address': '深大东路附近',\n",
       "   'location': '113.934902,22.528762',\n",
       "   'tel': [],\n",
       "   'distance': '93',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFFA2BSL',\n",
       "   'parent': 'B0FFF522PM',\n",
       "   'childtype': '202',\n",
       "   'name': '顺丰速运(海滨小区南)',\n",
       "   'type': '生活服务;物流速递;物流速递',\n",
       "   'typecode': '070500',\n",
       "   'biz_type': [],\n",
       "   'address': '桂庙新村82-4号',\n",
       "   'location': '113.935164,22.527078',\n",
       "   'tel': '95338',\n",
       "   'distance': '96',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFFEW8WY',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '云鹤楼',\n",
       "   'type': '商务住宅;住宅区;宿舍',\n",
       "   'typecode': '120303',\n",
       "   'biz_type': [],\n",
       "   'address': '深大东路云鹏楼附近',\n",
       "   'location': '113.934193,22.528298',\n",
       "   'tel': [],\n",
       "   'distance': '101',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFG8S5H6',\n",
       "   'parent': 'B02F38UM57',\n",
       "   'childtype': '202',\n",
       "   'name': 'Back Coffee Shop',\n",
       "   'type': '餐饮服务;咖啡厅;咖啡厅',\n",
       "   'typecode': '050500',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '桂庙新村39号西部创业园39-5号',\n",
       "   'location': '113.934506,22.527181',\n",
       "   'tel': '13713609411',\n",
       "   'distance': '103',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFKTQ436',\n",
       "   'parent': 'B02F38UM57',\n",
       "   'childtype': '202',\n",
       "   'name': '老华记广式甜品',\n",
       "   'type': '餐饮服务;餐饮相关场所;餐饮相关',\n",
       "   'typecode': '050000',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '学府路6号桂庙新村39-7号',\n",
       "   'location': '113.934517,22.527089',\n",
       "   'tel': '17881472929',\n",
       "   'distance': '111',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFK63I4B',\n",
       "   'parent': 'B02F38UM57',\n",
       "   'childtype': '202',\n",
       "   'name': '喜英(桂庙新村店)',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '粤海街道桂庙新村39-7号',\n",
       "   'location': '113.934528,22.527057',\n",
       "   'tel': '0755-86520386;13538221021',\n",
       "   'distance': '114',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFFEWALE',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '海志楼',\n",
       "   'type': '商务住宅;住宅区;宿舍',\n",
       "   'typecode': '120303',\n",
       "   'biz_type': [],\n",
       "   'address': '南海大道3688号深圳大学',\n",
       "   'location': '113.933985,22.527998',\n",
       "   'tel': [],\n",
       "   'distance': '114',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFGIECPV',\n",
       "   'parent': 'B02F38UM57',\n",
       "   'childtype': '202',\n",
       "   'name': '无食',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '粤海街道桂庙新村39栋3号',\n",
       "   'location': '113.934522,22.527049',\n",
       "   'tel': [],\n",
       "   'distance': '115',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFKSJEU8',\n",
       "   'parent': 'B02F38UM57',\n",
       "   'childtype': '202',\n",
       "   'name': '猿锅',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '学府路桂庙新村西部创业园39-3-7',\n",
       "   'location': '113.934472,22.527063',\n",
       "   'tel': [],\n",
       "   'distance': '116',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFG8AUNS',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '8克拉俱乐部(科技园店)',\n",
       "   'type': '餐饮服务;休闲餐饮场所;休闲餐饮场所',\n",
       "   'typecode': '050400',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '学府路白石路交叉口桂庙新村西部创业园39-4号',\n",
       "   'location': '113.934346,22.527139',\n",
       "   'tel': '15818628885;13651424241',\n",
       "   'distance': '117',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFHEEA51',\n",
       "   'parent': 'B02F38UBX5',\n",
       "   'childtype': '202',\n",
       "   'name': '姐妹私房菜(小清新街店)',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '粤海街道桂庙新村79号一楼',\n",
       "   'location': '113.934702,22.526872',\n",
       "   'tel': '13684928409',\n",
       "   'distance': '125',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFL3LFW7',\n",
       "   'parent': 'B02F38UBX5',\n",
       "   'childtype': '202',\n",
       "   'name': '皖庭餐厅',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '粤海街道桂庙新村79栋101',\n",
       "   'location': '113.934882,22.526826',\n",
       "   'tel': '13670029797',\n",
       "   'distance': '125',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '1',\n",
       "   'poiweight': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFLA9LVO',\n",
       "   'parent': 'B02F38UBX5',\n",
       "   'childtype': '202',\n",
       "   'name': '中通快递超市',\n",
       "   'type': '生活服务;物流速递;物流速递',\n",
       "   'typecode': '070500',\n",
       "   'biz_type': [],\n",
       "   'address': '白石路4205号桂庙新村79栋1楼皖庭餐厅内',\n",
       "   'location': '113.934821,22.526812',\n",
       "   'tel': [],\n",
       "   'distance': '128',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'photos': []}]}"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# F-2 json信息\n",
    "深圳大学_周边POI = place_around(深圳大学_location)\n",
    "深圳大学_周边POI"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>parent</th>\n",
       "      <th>childtype</th>\n",
       "      <th>name</th>\n",
       "      <th>type</th>\n",
       "      <th>typecode</th>\n",
       "      <th>biz_type</th>\n",
       "      <th>address</th>\n",
       "      <th>location</th>\n",
       "      <th>tel</th>\n",
       "      <th>distance</th>\n",
       "      <th>biz_ext</th>\n",
       "      <th>importance</th>\n",
       "      <th>shopid</th>\n",
       "      <th>shopinfo</th>\n",
       "      <th>poiweight</th>\n",
       "      <th>photos</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B0FFFEW8YX</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>海涛楼</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "      <td>120303</td>\n",
       "      <td>[]</td>\n",
       "      <td>南海大道3688号</td>\n",
       "      <td>113.935146,22.528299</td>\n",
       "      <td>[]</td>\n",
       "      <td>40</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B0FFFEWAL4</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>云鹏楼</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "      <td>120303</td>\n",
       "      <td>[]</td>\n",
       "      <td>南海大道3688号</td>\n",
       "      <td>113.934550,22.528121</td>\n",
       "      <td>[]</td>\n",
       "      <td>59</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B0FFG8RF13</td>\n",
       "      <td>B0FFK135CJ</td>\n",
       "      <td>309</td>\n",
       "      <td>深圳大学乔梧阁</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "      <td>120303</td>\n",
       "      <td>[]</td>\n",
       "      <td>深大东路附近</td>\n",
       "      <td>113.934480,22.527717</td>\n",
       "      <td>[]</td>\n",
       "      <td>68</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>B0FFFEW8YD</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>海望楼</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "      <td>120303</td>\n",
       "      <td>[]</td>\n",
       "      <td>南海大道3688号</td>\n",
       "      <td>113.935451,22.528515</td>\n",
       "      <td>[]</td>\n",
       "      <td>73</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>B0FFFEW8XL</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>海山楼</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "      <td>120303</td>\n",
       "      <td>[]</td>\n",
       "      <td>后海大道西200米</td>\n",
       "      <td>113.935146,22.528633</td>\n",
       "      <td>[]</td>\n",
       "      <td>77</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B0FFLJEO82</td>\n",
       "      <td>B02F37UIGT</td>\n",
       "      <td>309</td>\n",
       "      <td>深圳大学海星楼</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "      <td>120303</td>\n",
       "      <td>[]</td>\n",
       "      <td>南海大道3688号深圳大学</td>\n",
       "      <td>113.934642,22.528559</td>\n",
       "      <td>[]</td>\n",
       "      <td>83</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>B0FFKUODTU</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>京餐厅</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>学府路4-17号</td>\n",
       "      <td>113.935302,22.527140</td>\n",
       "      <td>[]</td>\n",
       "      <td>91</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>B0FFFEW8XP</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>海青楼</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "      <td>120303</td>\n",
       "      <td>[]</td>\n",
       "      <td>深大东路附近</td>\n",
       "      <td>113.934902,22.528762</td>\n",
       "      <td>[]</td>\n",
       "      <td>93</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B0FFFA2BSL</td>\n",
       "      <td>B0FFF522PM</td>\n",
       "      <td>202</td>\n",
       "      <td>顺丰速运(海滨小区南)</td>\n",
       "      <td>生活服务;物流速递;物流速递</td>\n",
       "      <td>070500</td>\n",
       "      <td>[]</td>\n",
       "      <td>桂庙新村82-4号</td>\n",
       "      <td>113.935164,22.527078</td>\n",
       "      <td>95338</td>\n",
       "      <td>96</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>B0FFFEW8WY</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>云鹤楼</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "      <td>120303</td>\n",
       "      <td>[]</td>\n",
       "      <td>深大东路云鹏楼附近</td>\n",
       "      <td>113.934193,22.528298</td>\n",
       "      <td>[]</td>\n",
       "      <td>101</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>B0FFG8S5H6</td>\n",
       "      <td>B02F38UM57</td>\n",
       "      <td>202</td>\n",
       "      <td>Back Coffee Shop</td>\n",
       "      <td>餐饮服务;咖啡厅;咖啡厅</td>\n",
       "      <td>050500</td>\n",
       "      <td>diner</td>\n",
       "      <td>桂庙新村39号西部创业园39-5号</td>\n",
       "      <td>113.934506,22.527181</td>\n",
       "      <td>13713609411</td>\n",
       "      <td>103</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>B0FFKTQ436</td>\n",
       "      <td>B02F38UM57</td>\n",
       "      <td>202</td>\n",
       "      <td>老华记广式甜品</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>学府路6号桂庙新村39-7号</td>\n",
       "      <td>113.934517,22.527089</td>\n",
       "      <td>17881472929</td>\n",
       "      <td>111</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>B0FFK63I4B</td>\n",
       "      <td>B02F38UM57</td>\n",
       "      <td>202</td>\n",
       "      <td>喜英(桂庙新村店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>粤海街道桂庙新村39-7号</td>\n",
       "      <td>113.934528,22.527057</td>\n",
       "      <td>0755-86520386;13538221021</td>\n",
       "      <td>114</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>B0FFFEWALE</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>海志楼</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "      <td>120303</td>\n",
       "      <td>[]</td>\n",
       "      <td>南海大道3688号深圳大学</td>\n",
       "      <td>113.933985,22.527998</td>\n",
       "      <td>[]</td>\n",
       "      <td>114</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>B0FFGIECPV</td>\n",
       "      <td>B02F38UM57</td>\n",
       "      <td>202</td>\n",
       "      <td>无食</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>粤海街道桂庙新村39栋3号</td>\n",
       "      <td>113.934522,22.527049</td>\n",
       "      <td>[]</td>\n",
       "      <td>115</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>B0FFKSJEU8</td>\n",
       "      <td>B02F38UM57</td>\n",
       "      <td>202</td>\n",
       "      <td>猿锅</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>学府路桂庙新村西部创业园39-3-7</td>\n",
       "      <td>113.934472,22.527063</td>\n",
       "      <td>[]</td>\n",
       "      <td>116</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>B0FFG8AUNS</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>8克拉俱乐部(科技园店)</td>\n",
       "      <td>餐饮服务;休闲餐饮场所;休闲餐饮场所</td>\n",
       "      <td>050400</td>\n",
       "      <td>diner</td>\n",
       "      <td>学府路白石路交叉口桂庙新村西部创业园39-4号</td>\n",
       "      <td>113.934346,22.527139</td>\n",
       "      <td>15818628885;13651424241</td>\n",
       "      <td>117</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>B0FFHEEA51</td>\n",
       "      <td>B02F38UBX5</td>\n",
       "      <td>202</td>\n",
       "      <td>姐妹私房菜(小清新街店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>粤海街道桂庙新村79号一楼</td>\n",
       "      <td>113.934702,22.526872</td>\n",
       "      <td>13684928409</td>\n",
       "      <td>125</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>B0FFL3LFW7</td>\n",
       "      <td>B02F38UBX5</td>\n",
       "      <td>202</td>\n",
       "      <td>皖庭餐厅</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>粤海街道桂庙新村79栋101</td>\n",
       "      <td>113.934882,22.526826</td>\n",
       "      <td>13670029797</td>\n",
       "      <td>125</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>1</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>B0FFLA9LVO</td>\n",
       "      <td>B02F38UBX5</td>\n",
       "      <td>202</td>\n",
       "      <td>中通快递超市</td>\n",
       "      <td>生活服务;物流速递;物流速递</td>\n",
       "      <td>070500</td>\n",
       "      <td>[]</td>\n",
       "      <td>白石路4205号桂庙新村79栋1楼皖庭餐厅内</td>\n",
       "      <td>113.934821,22.526812</td>\n",
       "      <td>[]</td>\n",
       "      <td>128</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            id      parent childtype              name                type  \\\n",
       "0   B0FFFEW8YX          []        []               海涛楼         商务住宅;住宅区;宿舍   \n",
       "1   B0FFFEWAL4          []        []               云鹏楼         商务住宅;住宅区;宿舍   \n",
       "2   B0FFG8RF13  B0FFK135CJ       309           深圳大学乔梧阁         商务住宅;住宅区;宿舍   \n",
       "3   B0FFFEW8YD          []        []               海望楼         商务住宅;住宅区;宿舍   \n",
       "4   B0FFFEW8XL          []        []               海山楼         商务住宅;住宅区;宿舍   \n",
       "5   B0FFLJEO82  B02F37UIGT       309           深圳大学海星楼         商务住宅;住宅区;宿舍   \n",
       "6   B0FFKUODTU          []        []               京餐厅    餐饮服务;餐饮相关场所;餐饮相关   \n",
       "7   B0FFFEW8XP          []        []               海青楼         商务住宅;住宅区;宿舍   \n",
       "8   B0FFFA2BSL  B0FFF522PM       202       顺丰速运(海滨小区南)      生活服务;物流速递;物流速递   \n",
       "9   B0FFFEW8WY          []        []               云鹤楼         商务住宅;住宅区;宿舍   \n",
       "10  B0FFG8S5H6  B02F38UM57       202  Back Coffee Shop        餐饮服务;咖啡厅;咖啡厅   \n",
       "11  B0FFKTQ436  B02F38UM57       202           老华记广式甜品    餐饮服务;餐饮相关场所;餐饮相关   \n",
       "12  B0FFK63I4B  B02F38UM57       202         喜英(桂庙新村店)        餐饮服务;中餐厅;中餐厅   \n",
       "13  B0FFFEWALE          []        []               海志楼         商务住宅;住宅区;宿舍   \n",
       "14  B0FFGIECPV  B02F38UM57       202                无食        餐饮服务;中餐厅;中餐厅   \n",
       "15  B0FFKSJEU8  B02F38UM57       202                猿锅        餐饮服务;中餐厅;中餐厅   \n",
       "16  B0FFG8AUNS          []        []      8克拉俱乐部(科技园店)  餐饮服务;休闲餐饮场所;休闲餐饮场所   \n",
       "17  B0FFHEEA51  B02F38UBX5       202      姐妹私房菜(小清新街店)        餐饮服务;中餐厅;中餐厅   \n",
       "18  B0FFL3LFW7  B02F38UBX5       202              皖庭餐厅        餐饮服务;中餐厅;中餐厅   \n",
       "19  B0FFLA9LVO  B02F38UBX5       202            中通快递超市      生活服务;物流速递;物流速递   \n",
       "\n",
       "   typecode biz_type                  address              location  \\\n",
       "0    120303       []                南海大道3688号  113.935146,22.528299   \n",
       "1    120303       []                南海大道3688号  113.934550,22.528121   \n",
       "2    120303       []                   深大东路附近  113.934480,22.527717   \n",
       "3    120303       []                南海大道3688号  113.935451,22.528515   \n",
       "4    120303       []                后海大道西200米  113.935146,22.528633   \n",
       "5    120303       []            南海大道3688号深圳大学  113.934642,22.528559   \n",
       "6    050000    diner                 学府路4-17号  113.935302,22.527140   \n",
       "7    120303       []                   深大东路附近  113.934902,22.528762   \n",
       "8    070500       []                桂庙新村82-4号  113.935164,22.527078   \n",
       "9    120303       []                深大东路云鹏楼附近  113.934193,22.528298   \n",
       "10   050500    diner        桂庙新村39号西部创业园39-5号  113.934506,22.527181   \n",
       "11   050000    diner           学府路6号桂庙新村39-7号  113.934517,22.527089   \n",
       "12   050100    diner            粤海街道桂庙新村39-7号  113.934528,22.527057   \n",
       "13   120303       []            南海大道3688号深圳大学  113.933985,22.527998   \n",
       "14   050100    diner            粤海街道桂庙新村39栋3号  113.934522,22.527049   \n",
       "15   050100    diner       学府路桂庙新村西部创业园39-3-7  113.934472,22.527063   \n",
       "16   050400    diner  学府路白石路交叉口桂庙新村西部创业园39-4号  113.934346,22.527139   \n",
       "17   050100    diner            粤海街道桂庙新村79号一楼  113.934702,22.526872   \n",
       "18   050100    diner           粤海街道桂庙新村79栋101  113.934882,22.526826   \n",
       "19   070500       []   白石路4205号桂庙新村79栋1楼皖庭餐厅内  113.934821,22.526812   \n",
       "\n",
       "                          tel distance biz_ext importance shopid shopinfo  \\\n",
       "0                          []       40      []         []     []        0   \n",
       "1                          []       59      []         []     []        0   \n",
       "2                          []       68      []         []     []        0   \n",
       "3                          []       73      []         []     []        0   \n",
       "4                          []       77      []         []     []        0   \n",
       "5                          []       83      []         []     []        0   \n",
       "6                          []       91      []         []     []        0   \n",
       "7                          []       93      []         []     []        0   \n",
       "8                       95338       96      []         []     []        0   \n",
       "9                          []      101      []         []     []        0   \n",
       "10                13713609411      103      []         []     []        0   \n",
       "11                17881472929      111      []         []     []        0   \n",
       "12  0755-86520386;13538221021      114      []         []     []        0   \n",
       "13                         []      114      []         []     []        0   \n",
       "14                         []      115      []         []     []        0   \n",
       "15                         []      116      []         []     []        0   \n",
       "16    15818628885;13651424241      117      []         []     []        0   \n",
       "17                13684928409      125      []         []     []        0   \n",
       "18                13670029797      125      []         []     []        1   \n",
       "19                         []      128      []         []     []        0   \n",
       "\n",
       "   poiweight photos  \n",
       "0         []     []  \n",
       "1         []     []  \n",
       "2         []     []  \n",
       "3         []     []  \n",
       "4         []     []  \n",
       "5         []     []  \n",
       "6         []     []  \n",
       "7         []     []  \n",
       "8         []     []  \n",
       "9         []     []  \n",
       "10        []     []  \n",
       "11        []     []  \n",
       "12        []     []  \n",
       "13        []     []  \n",
       "14        []     []  \n",
       "15        []     []  \n",
       "16        []     []  \n",
       "17        []     []  \n",
       "18        []     []  \n",
       "19        []     []  "
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# F-3 表格化，可扩展pandas处理\n",
    "df_深圳大学_周边POI = pd.json_normalize(深圳大学_周边POI['pois'])\n",
    "df_深圳大学_周边POI"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考： 查询一个地方可以获得周边地方的推荐，可以做类似美食，游玩，酒店类app，这种可以算作是一种算法推荐。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# ID查询"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [],
   "source": [
    "def place_detail(id,sig=None)->dict:\n",
    "    '''输入所在位置，以此位置的id进行搜索，即可返回该地址id地址类型信息'''\n",
    "    url = 'https://restapi.amap.com/v3/place/detail?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'id':id,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'pois': [{'id': 'B00140ALIC',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '海珠区红十字会医院',\n",
       "   'tag': [],\n",
       "   'type': '医疗保健服务;综合医院;综合医院',\n",
       "   'typecode': '090100',\n",
       "   'biz_type': [],\n",
       "   'address': '工业大道北77-3号',\n",
       "   'location': '113.257766,23.092887',\n",
       "   'tel': '020-34039371;020-34039173',\n",
       "   'postcode': [],\n",
       "   'website': 'www.hzqws.gov.cn',\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440105',\n",
       "   'adname': '海珠区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '2',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413521001',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F011043_14540;811490',\n",
       "   'entr_location': '113.25762,23.092706',\n",
       "   'business_area': '龙凤',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-21 11:01:19',\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'indoor_src': [],\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.0', 'cost': []},\n",
       "   'event': [],\n",
       "   'deep_info': {'deepsrc': []},\n",
       "   'rich_content': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/ae3f830fe4292f135a2e9bbbac599712'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/bdc55a3feb621144884d8da9a892edc2'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/697e6e3da60f4b9cf1585d2b43f6daa2'}]}]}"
      ]
     },
     "execution_count": 136,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "医院id = place_detail('B00140ALIC')\n",
    "医院id"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>parent</th>\n",
       "      <th>childtype</th>\n",
       "      <th>name</th>\n",
       "      <th>tag</th>\n",
       "      <th>type</th>\n",
       "      <th>typecode</th>\n",
       "      <th>biz_type</th>\n",
       "      <th>address</th>\n",
       "      <th>location</th>\n",
       "      <th>...</th>\n",
       "      <th>rich_content</th>\n",
       "      <th>children</th>\n",
       "      <th>photos</th>\n",
       "      <th>indoor_data.cpid</th>\n",
       "      <th>indoor_data.floor</th>\n",
       "      <th>indoor_data.truefloor</th>\n",
       "      <th>indoor_data.cmsid</th>\n",
       "      <th>biz_ext.rating</th>\n",
       "      <th>biz_ext.cost</th>\n",
       "      <th>deep_info.deepsrc</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B00140ALIC</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>海珠区红十字会医院</td>\n",
       "      <td>[]</td>\n",
       "      <td>医疗保健服务;综合医院;综合医院</td>\n",
       "      <td>090100</td>\n",
       "      <td>[]</td>\n",
       "      <td>工业大道北77-3号</td>\n",
       "      <td>113.257766,23.092887</td>\n",
       "      <td>...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 48 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           id parent childtype       name tag              type typecode  \\\n",
       "0  B00140ALIC     []        []  海珠区红十字会医院  []  医疗保健服务;综合医院;综合医院   090100   \n",
       "\n",
       "  biz_type     address              location  ... rich_content children  \\\n",
       "0       []  工业大道北77-3号  113.257766,23.092887  ...           []       []   \n",
       "\n",
       "                                              photos indoor_data.cpid  \\\n",
       "0  [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "\n",
       "  indoor_data.floor indoor_data.truefloor indoor_data.cmsid biz_ext.rating  \\\n",
       "0                []                    []                []            3.0   \n",
       "\n",
       "  biz_ext.cost deep_info.deepsrc  \n",
       "0           []                []  \n",
       "\n",
       "[1 rows x 48 columns]"
      ]
     },
     "execution_count": 137,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_医院id= pd.json_normalize(医院id['pois'])\n",
    "df_医院id"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## IP定位"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [],
   "source": [
    "def ip_location(ip,sig=None)->dict:\n",
    "    '''IP定位是一个简单的HTTP接口，根据用户输入的IP地址，能够快速的帮用户定位IP的所在位置'''\n",
    "    url = 'https://restapi.amap.com/v3/ip?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'ip':ip,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'province': '广东省',\n",
       " 'city': '广州市',\n",
       " 'adcode': '440100',\n",
       " 'rectangle': '113.1017375,22.93212254;113.6770499,23.3809537'}"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "myip = ip_location('210.21.79.245')#广州ip\n",
    "myip"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：计算机可以通过ip地址找到手机定位，甚至可以因此找到犯罪嫌疑人。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 批量请求接口"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "import requests\n",
    "\n",
    "url=\"https://restapi.amap.com/v3/batch?key=554c46280f7279e1beaeafbc0df80929\"\n",
    "\n",
    "'''批量接口通过用户传入合并后的请求，同时返回多个请求的顺序集合，目前最多支持20个子请求。 返回的顺序与子请求的顺序一致。'''\n",
    "\n",
    "def batch():\n",
    "    header={\n",
    "                'Connection':'close',\n",
    "                'Accept':'application/json,image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, */*',\n",
    "                'User-Agent':'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)',\n",
    "                \"Content-Type\": \"application/json; charset=UTF-8\"\n",
    "    }\n",
    "    body={\n",
    "            \"ops\": [\n",
    "            {\n",
    "                \"url\": \"/v3/place/around?offset=10&page=1&key=7347a7fce48d28ebeafa2256c9dfc189&location=116.50394379585519,39.278209477408794&output=json&radius=100000&types=080000\"\n",
    "            },\n",
    "            {\n",
    "                \"url\": \"/v3/place/around?offset=10&page=1&key=7347a7fce48d28ebeafa2256c9dfc189&location=118.50394379585519,39.278209477408794&output=json&radius=100000&types=080000\"\n",
    "            }\n",
    "        ]\n",
    "    }\n",
    "\n",
    "    r=requests.post(url,json=body).json()\n",
    "\n",
    "    return r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'status': 200,\n",
       "  'body': {'suggestion': {'keywords': {}, 'cities': {}},\n",
       "   'info': 'OK',\n",
       "   'status': '1',\n",
       "   'count': '888',\n",
       "   'pois': [{'typecode': '080000',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFKKSDDS',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.511528,39.270463',\n",
       "     'distance': '1082',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '李庄子村兰阳草莓采摘园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080501',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJM772Z',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.513958,39.270648',\n",
       "     'distance': '1205',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永清镇北辛溜附近',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;游乐场',\n",
       "     'shopinfo': '0',\n",
       "     'name': '儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080503',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013C16BMA',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.480285,39.291357',\n",
       "     'distance': '2509',\n",
       "     'tel': '13363650160',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永金一桥东500米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/3e517731940c4684ee94acdfb8c39b26',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/8eb4c3eb92489cb32cafa17205dc0112',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/163f3273c7c60016197a2e7912df53df',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;休闲场所;采摘园',\n",
       "     'shopinfo': '0',\n",
       "     'name': '开心草莓采摘园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080501',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLPYFW5',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496816,39.302615',\n",
       "     'distance': '2785',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路225东北100米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;游乐场',\n",
       "     'shopinfo': '0',\n",
       "     'name': 'DIY儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080603',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLAIP6H',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496230,39.303248',\n",
       "     'distance': '2865',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'seat_ordering': '0', 'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;影剧院;剧场',\n",
       "     'shopinfo': '0',\n",
       "     'name': '向阳禾理想城梦剧场',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080308',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013C0IMLS',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496593,39.304251',\n",
       "     'distance': '2967',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': '3.5', 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路179号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/af47a5f4f741f6a3ad170e226f856b92',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;网吧',\n",
       "     'shopinfo': '0',\n",
       "     'name': '梦想网吧(益昌南路店)',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080119',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFMDQ6D7',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.493187,39.304274',\n",
       "     'distance': '3045',\n",
       "     'tel': '13141201944',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '武隆南路宏益街',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/0fb1662d06ad761b51070fe0ca4c26c5',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;运动场馆;跆拳道场馆',\n",
       "     'shopinfo': '1',\n",
       "     'name': '龙圣跆拳道馆',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJQZNZW',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.497741,39.309459',\n",
       "     'distance': '3519',\n",
       "     'tel': '15210485655',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路268号新旺小区门口',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/67416ad37c69db61c270016fa6f430cc',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/d89fd2e7d4b62cba6187c87cc838bb89',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/dbaae4d6ace1004675ce4f252088ffe6',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '1',\n",
       "     'name': '熙瑞国际游泳健身会所',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080113',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFM4EHTE',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.495838,39.309940',\n",
       "     'distance': '3600',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;运动场馆;台球厅',\n",
       "     'shopinfo': '0',\n",
       "     'name': 'K9台球',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080308',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJKVFLQ',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.497249,39.310649',\n",
       "     'distance': '3656',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌中路与益昌南路交叉口西南50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;娱乐场所;网吧',\n",
       "     'shopinfo': '0',\n",
       "     'name': '网咖',\n",
       "     'childtype': {}}],\n",
       "   'infocode': '10000'},\n",
       "  'header': {'gsid': '011131020019158756229340900021812719073',\n",
       "   'Vary': 'Accept-Encoding',\n",
       "   'Content-Type': 'application/json;charset=UTF-8',\n",
       "   'Access-Control-Allow-Methods': '*',\n",
       "   'Access-Control-Allow-Origin': '*',\n",
       "   'sc': '0.126',\n",
       "   'Content-Length': 5294,\n",
       "   'Access-Control-Allow-Headers': 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,key,x-biz,x-info,platinfo,encr,enginever,gzipped,poiid',\n",
       "   'X-Powered-By': 'ring/1.0.0'}},\n",
       " {'status': 200,\n",
       "  'body': {'suggestion': {'keywords': {}, 'cities': {}},\n",
       "   'info': 'OK',\n",
       "   'status': '1',\n",
       "   'count': '878',\n",
       "   'pois': [{'typecode': '080000',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFIT4V37',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.509300,39.261324',\n",
       "     'distance': '1935',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '昌丰路与昌盛街交叉口东150米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '利民老年公寓',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080500',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFM1WN4Q',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.473800,39.284305',\n",
       "     'distance': '2684',\n",
       "     'tel': '13102692203;15032998415',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永丰路与建设大街交叉口北行200米再东行200米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/02f9a9353f15bb7c882c281addaca79a',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/462da2324343c04c255e5b6b55403952',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/dfc87db906b2994dae80342d4563b1e9',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;休闲场所;休闲场所',\n",
       "     'shopinfo': '1',\n",
       "     'name': '唐山兵途枪战运动',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080301',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFF2T193',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.471098,39.281979',\n",
       "     'distance': '2861',\n",
       "     'tel': '0315-8037777',\n",
       "     'biz_ext': {'rating': '4.3', 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '建设大街与永丰路交叉口西南角',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/c8fd0a18befbe849ce8df7908d88ed24',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/468baaf5453e6c1b38d0c4c417183b40',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/a0a5fff0b63e60b3508c2ecb197d07e5',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;夜总会',\n",
       "     'shopinfo': '0',\n",
       "     'name': '一代佳人夜总会',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFKPS8TZ',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.471344,39.273170',\n",
       "     'distance': '2864',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '垦丰大街与永丰路交叉口南50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '新少年跆拳道馆',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080402',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013B031EO',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.469256,39.278622',\n",
       "     'distance': '2989',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '曙光街23号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;度假疗养场所;疗养院',\n",
       "     'shopinfo': '0',\n",
       "     'name': '光荣院(曙光街)',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080500',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFHF91Y9',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.467429,39.273141',\n",
       "     'distance': '3196',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '垦丰大街8号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;休闲场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '曹妃甸区老干部活动中心',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080119',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLDK6TP',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.466867,39.281969',\n",
       "     'distance': '3222',\n",
       "     'tel': '17736580504',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '建设大街红赫世家东底商58号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/b59e23956de23e47401416a6b4808c0c',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;运动场馆;跆拳道场馆',\n",
       "     'shopinfo': '0',\n",
       "     'name': '泽仁跆拳道',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '滦南县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFH9MB8R',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.527757,39.301926',\n",
       "     'distance': '3343',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '杨柏线北50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '陶乐宝儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080304',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLOR4DN',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.466494,39.287701',\n",
       "     'distance': '3395',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '青年城二期东底商24号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/29997dd7b0c66b1dc6f15a253918ccf2',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/098df33a76f03e8d55672683f63da5d8',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;酒吧',\n",
       "     'shopinfo': '1',\n",
       "     'name': 'ELK酒吧',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080113',\n",
       "     'adname': '滦南县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFMB6BAG',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.528670,39.302678',\n",
       "     'distance': '3457',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;运动场馆;台球厅',\n",
       "     'shopinfo': '0',\n",
       "     'name': '下午时光台球俱乐部',\n",
       "     'childtype': {}}],\n",
       "   'infocode': '10000'},\n",
       "  'header': {'gsid': '011131020019158756229340900021812719073',\n",
       "   'Vary': 'Accept-Encoding',\n",
       "   'Content-Type': 'application/json;charset=UTF-8',\n",
       "   'Access-Control-Allow-Methods': '*',\n",
       "   'Access-Control-Allow-Origin': '*',\n",
       "   'sc': '0.132',\n",
       "   'Content-Length': 5564,\n",
       "   'Access-Control-Allow-Headers': 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,key,x-biz,x-info,platinfo,encr,enginever,gzipped,poiid',\n",
       "   'X-Powered-By': 'ring/1.0.0'}}]"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "batch()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：节约时间"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 多边形搜索 （学生练习）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 静态地图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [],
   "source": [
    "from PIL import Image\n",
    "from io import BytesIO\n",
    "def staticmap(location,zoom,size=None,scale=1,markers=None,labels=None,paths=None,traffic=0,page=None,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/staticmap?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'location':location,\n",
    "        'zoom':zoom,\n",
    "        'size':size,\n",
    "        'scale':scale,\n",
    "        'markers':markers,\n",
    "        'labels':labels,\n",
    "        'paths':paths,\n",
    "        'traffic':traffic,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = Image.open(BytesIO(response.content))\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.PngImagePlugin.PngImageFile image mode=P size=400x400 at 0x11EA892B0>"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "staticmap(location=深圳大学_location,zoom=16)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：通过经纬度静态的看到定位，以及对应定位的比例，尺寸大小，图形并茂可结合计算机视觉分析。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 坐标转换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [],
   "source": [
    "def coordinate_convert(locations,coordsys=None,sig=None)->dict:\n",
    "    '''坐标转换是一类简单的HTTP接口，能够将用户输入的非高德坐标（GPS坐标、mapbar坐标、baidu坐标）转换成高德坐标。'''\n",
    "    url = 'https://restapi.amap.com/v3/assistant/coordinate/convert?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'locations':locations,\n",
    "        'coordsys':coordsys,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'ok',\n",
       " 'infocode': '10000',\n",
       " 'locations': '113.263444200846,23.070317085624'}"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "深大= coordinate_convert(locations=\"113.269919,23.076541\",coordsys=\"baidu\")\n",
    "深大"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：可以利用高德其他api功能对其进行转换"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 天气查询"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [],
   "source": [
    "def weatherInfo(city,extensions='base')->dict:\n",
    "    \"\"\"天气查询是一个简单的HTTP接口，根据用户输入的adcode，查询目标区域当前/未来的天气情况\"\"\"\n",
    "    url = 'https://restapi.amap.com/v3/weather/weatherInfo?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'city':city,\n",
    "        'extensions':extensions,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1', 'count': '0', 'info': 'OK', 'infocode': '10000', 'lives': []}"
      ]
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广东深圳= weatherInfo(city=\"广东省深圳市\")\n",
    "广东深圳"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：输入城市名称，可结合计算机视觉查询天气。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 输入提示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [],
   "source": [
    "def inputtips(keywords,type=None,location=None,city=None,citylimit=None,datatype='all',sig=None)->dict:\n",
    "    \"\"\"输入提示是一类简单的HTTP接口，提供根据用户输入的关键词查询返回建议列表\"\"\"\n",
    "    url = 'https://restapi.amap.com/v3/assistant/inputtips?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'keywords':keywords,\n",
    "        'type':type,\n",
    "        'location':location,\n",
    "        'city':city,\n",
    "        'citylimit':citylimit,\n",
    "        'datatype':datatype,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '2',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'tips': [{'id': 'B0FFJOZZDG',\n",
       "   'name': 'PYTHON中心',\n",
       "   'district': '北京市东城区',\n",
       "   'adcode': '110101',\n",
       "   'location': '116.411621,39.892521',\n",
       "   'address': '珠市口东大街珍贝大厦三层',\n",
       "   'typecode': '060000',\n",
       "   'city': []},\n",
       "  {'id': 'B0FFF3TU0L',\n",
       "   'name': '深圳Python PythonPie',\n",
       "   'district': '广东省深圳市福田区',\n",
       "   'adcode': '440304',\n",
       "   'location': '114.022803,22.532502',\n",
       "   'address': '沙头街道泰然九路皇冠科技园3栋C区2层05室',\n",
       "   'typecode': '141400',\n",
       "   'city': []}]}"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "输入提示= inputtips(keywords='python')\n",
    "输入提示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>name</th>\n",
       "      <th>district</th>\n",
       "      <th>adcode</th>\n",
       "      <th>location</th>\n",
       "      <th>address</th>\n",
       "      <th>typecode</th>\n",
       "      <th>city</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B0FFJOZZDG</td>\n",
       "      <td>PYTHON中心</td>\n",
       "      <td>北京市东城区</td>\n",
       "      <td>110101</td>\n",
       "      <td>116.411621,39.892521</td>\n",
       "      <td>珠市口东大街珍贝大厦三层</td>\n",
       "      <td>060000</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B0FFF3TU0L</td>\n",
       "      <td>深圳Python PythonPie</td>\n",
       "      <td>广东省深圳市福田区</td>\n",
       "      <td>440304</td>\n",
       "      <td>114.022803,22.532502</td>\n",
       "      <td>沙头街道泰然九路皇冠科技园3栋C区2层05室</td>\n",
       "      <td>141400</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id                name   district  adcode              location  \\\n",
       "0  B0FFJOZZDG            PYTHON中心     北京市东城区  110101  116.411621,39.892521   \n",
       "1  B0FFF3TU0L  深圳Python PythonPie  广东省深圳市福田区  440304  114.022803,22.532502   \n",
       "\n",
       "                  address typecode city  \n",
       "0            珠市口东大街珍贝大厦三层   060000   []  \n",
       "1  沙头街道泰然九路皇冠科技园3栋C区2层05室   141400   []  "
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_输入提示= pd.json_normalize(输入提示['tips'])\n",
    "df_输入提示"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：搜索关键词，其中可以运用算法推荐给予其他地区的信息，一般用于联名商场。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 交通态势"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 矩形区域交通态势"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [],
   "source": [
    "def traffic_rectangle(rectangle,level,extensions='all',sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/traffic/status/rectangle?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'rectangle':rectangle,\n",
    "        'level':level, \n",
    "        'extensions':extensions,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'trafficinfo': {'description': '北三环路：双向畅通。',\n",
       "  'evaluation': {'expedite': '100.00%',\n",
       "   'congested': '0.00%',\n",
       "   'blocked': '0.00%',\n",
       "   'unknown': '0.00%',\n",
       "   'status': '1',\n",
       "   'description': '整体畅通'},\n",
       "  'roads': [{'name': '北三环路',\n",
       "    'status': '1',\n",
       "    'direction': '从苏州桥到三元桥',\n",
       "    'angle': '358',\n",
       "    'speed': '65',\n",
       "    'lcodes': '5838,4733,5835,4732,5882,5878,4731,5897,4730,6489,4729,5908,4728,5918,6944,4726,4725,4724,4721,6198,6195,6194,6190',\n",
       "    'polyline': '116.308372,39.9611397;116.308411,39.9612885;116.308426,39.9613914;116.308441,39.961483;116.308479,39.9615746;116.308525,39.9616623;116.308563,39.9617271;116.308708,39.9619865;116.308868,39.9621811;116.308998,39.9623299;116.309135,39.9624481;116.309372,39.9626236;116.309509,39.9627075;116.309624,39.9627686;116.309807,39.9628563;116.310005,39.962944;116.310219,39.9630203;116.310394,39.9630737;116.311234,39.9633369;116.312263,39.9636879;116.312965,39.9639549;116.314255,39.9644165;116.315697,39.9649506;116.31662,39.9652939;116.317619,39.9656677;116.31826,39.9658928;116.319618,39.9663925;116.320145,39.9665642;116.32058,39.9666939;116.320953,39.9667892;116.321648,39.9669228;116.321869,39.9669571;116.322197,39.9669914;116.322533,39.9670219;116.322998,39.9670486;116.324104,39.9671021;116.324745,39.9671288;116.325081,39.9671364;116.32653,39.9672012;116.328979,39.9672966;116.330101,39.9673386;116.330772,39.9673653;116.332535,39.9674263;116.33374,39.9674606;116.334045,39.9674683;116.335228,39.967495;116.336304,39.9675064;116.340797,39.9675407;116.343964,39.9675789;116.345161,39.9675903;116.34626,39.9676018;116.347557,39.9676018;116.348083,39.967617;116.348465,39.9676208;116.349258,39.9676361;116.351402,39.9676361;116.353104,39.9676437;116.353348,39.9676476;116.354546,39.9676552;116.354866,39.967659;116.357048,39.9676819;116.358582,39.9676437;116.361137,39.9676476;116.36187,39.9676628;116.362915,39.9676666;116.364426,39.9676743;116.366669,39.9677048;116.368797,39.9678078;116.370506,39.9678535;116.372978,39.9679451;116.37394,39.9679718;116.375557,39.9680138;116.377441,39.9680519;116.378563,39.9680634;116.379799,39.9681015;116.380508,39.9681168;116.381546,39.9681435;116.38192,39.9681435;116.386009,39.9682503;116.388618,39.9683037;116.393448,39.9684372;116.395325,39.9684982;116.397644,39.9685516;116.398895,39.968605;116.400246,39.9686317;116.400513,39.9686394;116.401047,39.9686432;116.401497,39.9686546;116.403435,39.9687271;116.403976,39.9687538;116.407425,39.9688568;116.408028,39.9688759;116.408447,39.9688835;116.410011,39.9689331;116.411217,39.9689522;116.413483,39.9689903;116.413948,39.969017;116.414375,39.9690323;116.414703,39.9690361;116.415665,39.9690552;116.418472,39.9691162;116.419754,39.9691582;116.421814,39.9692116;116.424194,39.9692841;116.425629,39.9693298;116.426224,39.9693336;116.427322,39.9693642;116.429298,39.9694176;116.431007,39.9694595;116.433334,39.9695282;116.433899,39.9695473;116.434288,39.9695511;116.434547,39.9695473;116.434753,39.9695435;116.43499,39.9695244;116.435287,39.9694939;116.435486,39.9694748;116.435669,39.9694405;116.43602,39.969368;116.43634,39.9692879;116.436569,39.9692116;116.436928,39.9690895;116.437035,39.9690399;116.437561,39.9687767;116.438065,39.9684944;116.439781,39.9673691;116.44091,39.9666405;116.442238,39.9657478;116.44416,39.9644966;116.445847,39.9634094;116.44725,39.9625053;116.4496,39.9609261;116.450241,39.9605064;116.45182,39.9594383;116.452988,39.9586449;116.453461,39.9583321;116.454086,39.9579315;116.45491,39.9573898'},\n",
       "   {'name': '北三环路',\n",
       "    'status': '1',\n",
       "    'direction': '从三元桥到苏州桥',\n",
       "    'angle': '178',\n",
       "    'speed': '65',\n",
       "    'lcodes': '-6190,-6194,-6195,-6198,-4721,-4724,-4725,-4726,-6944,-5918,-4728,-5908,-4729,-6489,-4730,-5897,-4731,-5878,-5882,-4732,-5835,-4733,-5838,-4734',\n",
       "    'polyline': '116.455078,39.9574471;116.452995,39.9588165;116.451912,39.9595528;116.450523,39.9604836;116.449692,39.9610519;116.44841,39.961895;116.446716,39.9630165;116.443535,39.965065;116.44207,39.9660263;116.440804,39.9668503;116.440659,39.9669456;116.440002,39.9673958;116.439896,39.9674721;116.438812,39.9681778;116.437981,39.9687004;116.437317,39.9690437;116.436981,39.9691963;116.436363,39.9693985;116.435783,39.9695473;116.435661,39.969574;116.435455,39.9696045;116.435257,39.9696312;116.434952,39.9696541;116.434471,39.9696655;116.433662,39.9696579;116.430122,39.9695549;116.428581,39.9695129;116.426468,39.9694633;116.425636,39.9694405;116.421799,39.9693336;116.419731,39.9692726;116.418472,39.9692345;116.417206,39.9692039;116.414673,39.9691505;116.41449,39.9691429;116.413956,39.9691315;116.411217,39.9690666;116.407074,39.968956;116.403908,39.9688835;116.401047,39.9687805;116.400513,39.9687691;116.400238,39.9687538;116.399269,39.9687386;116.396652,39.9686546;116.39534,39.9686241;116.393478,39.9685783;116.391144,39.968502;116.389641,39.9684639;116.388672,39.968441;116.386566,39.9683762;116.383499,39.9682961;116.381546,39.9682541;116.381226,39.9682541;116.380371,39.9682388;116.379822,39.9682274;116.377548,39.968174;116.376701,39.9681511;116.375847,39.968132;116.375351,39.9681244;116.374557,39.9681015;116.371323,39.9679985;116.370544,39.9679718;116.369652,39.9679451;116.368797,39.9679146;116.367912,39.9678917;116.366661,39.9678574;116.364433,39.9678116;116.361763,39.9677925;116.360542,39.9677849;116.360229,39.9677811;116.358894,39.9677773;116.357048,39.9677811;116.354248,39.9677544;116.349884,39.9677391;116.349258,39.9677391;116.348763,39.9677315;116.347961,39.9677238;116.347427,39.96772;116.345901,39.9677124;116.345177,39.967701;116.343521,39.9676933;116.342667,39.9676743;116.341568,39.9676666;116.340668,39.9676552;116.339737,39.9676476;116.337715,39.9676323;116.336281,39.9676285;116.33358,39.9675751;116.332748,39.9675484;116.33239,39.9675369;116.330025,39.967453;116.329567,39.9674301;116.327271,39.9673615;116.326759,39.9673271;116.326523,39.9673119;116.324883,39.9672432;116.322845,39.9671555;116.322418,39.9671249;116.322105,39.9670982;116.321869,39.9670715;116.32135,39.9669914;116.321136,39.9669495;116.320648,39.9668312;116.320305,39.9667397;116.319977,39.9666328;116.319641,39.966526;116.319077,39.96632;116.317566,39.9657631;116.31662,39.965416;116.315628,39.9650612;116.315483,39.9650116;116.315056,39.9648438;116.314079,39.9644852;116.313766,39.9643707;116.313583,39.9643021;116.313484,39.9642677;116.312943,39.9640656;116.31189,39.9636765;116.31118,39.9634438;116.310249,39.9631538;116.309975,39.9630547;116.309692,39.9629364;116.309547,39.9628716;116.309372,39.9627724;116.309212,39.9626617;116.30912,39.9625893;116.3088,39.962307;116.308601,39.9620895;116.308495,39.9619522;116.308426,39.9618225;116.308357,39.9616814;116.308319,39.9615707;116.308273,39.9614563;116.308228,39.9612122;116.30822,39.9611473'},\n",
       "   {'name': '西土城路',\n",
       "    'status': '1',\n",
       "    'direction': '从西直门北大街到学知桥',\n",
       "    'angle': '92',\n",
       "    'speed': '60',\n",
       "    'lcodes': '6045,6043,6042,6041',\n",
       "    'polyline': '116.355164,39.9556694;116.355125,39.9562759;116.35511,39.9571609;116.355011,39.9595947;116.354965,39.9611626;116.354881,39.962513;116.354813,39.9638901;116.354774,39.9646606;116.354729,39.9655113;116.354683,39.9664383;116.354652,39.9668274;116.35463,39.9672127;116.354576,39.9683113;116.354561,39.9690628;116.354424,39.9717026;116.354279,39.9738426;116.354256,39.9743538;116.354202,39.9754944;116.354149,39.9767227;116.354095,39.9774666;116.353989,39.9794922'},\n",
       "   {'name': '西土城路',\n",
       "    'status': '1',\n",
       "    'direction': '从学知桥到明光桥',\n",
       "    'angle': '272',\n",
       "    'speed': '55',\n",
       "    'lcodes': '-6041,-6042,-6043,-6045',\n",
       "    'polyline': '116.353882,39.9792252;116.353912,39.9787941;116.353958,39.9778633;116.353943,39.9774628;116.353928,39.9773483;116.353905,39.9772148;116.353859,39.9770851;116.353798,39.9769478;116.353722,39.9768105;116.353561,39.9765396;116.353371,39.9761848;116.35321,39.9758873;116.353149,39.9757614;116.353065,39.9755096;116.353027,39.975399;116.352997,39.975174;116.352997,39.9748459;116.353043,39.9742355;116.353065,39.9736176;116.353065,39.9733429;116.353104,39.9723434;116.353172,39.9709282;116.353264,39.9700279;116.353348,39.9695282;116.353401,39.9692574;116.353432,39.9690971;116.353546,39.9667168;116.353554,39.9664307;116.353546,39.9662971;116.353531,39.9661598;116.353493,39.965992;116.353432,39.9657707;116.35331,39.9653625;116.353287,39.9652481;116.353279,39.9651337;116.353279,39.9649506;116.353371,39.96315;116.353477,39.9611206;116.353554,39.9605103;116.353607,39.9602089;116.353653,39.9600372;116.353828,39.9596481;116.354759,39.9580765;116.354813,39.9579773;116.354843,39.9578934;116.354912,39.9576988;116.354935,39.9575691;116.354965,39.9574089;116.35498,39.9572754;116.354988,39.957077;116.355034,39.9560204;116.355042,39.9556656'}]}}"
      ]
     },
     "execution_count": 112,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a= traffic_rectangle(rectangle='116.351147,39.966309;116.357134,39.968727',level='3')\n",
    "a"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 圆形区域交通态势"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [],
   "source": [
    "def traffic_circle(location,level,radius,extensions='all',sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/traffic/status/circle?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'location':location,\n",
    "        'level':level, \n",
    "        'radius':radius,\n",
    "        'extensions':extensions,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'trafficinfo': {'description': '内环路：双向畅通。',\n",
       "  'evaluation': {'expedite': '100.00%',\n",
       "   'congested': '0.00%',\n",
       "   'blocked': '0.00%',\n",
       "   'unknown': '0.00%',\n",
       "   'status': '1',\n",
       "   'description': '整体畅通'},\n",
       "  'roads': [{'name': '工业大道中',\n",
       "    'status': '1',\n",
       "    'direction': '从石岗路到昌岗立交',\n",
       "    'angle': '134',\n",
       "    'speed': '30',\n",
       "    'lcodes': '522,517',\n",
       "    'polyline': '113.27713,23.0716763;113.276726,23.071867;113.276375,23.0720043;113.275894,23.0722351;113.275749,23.0723152;113.275665,23.0723686;113.275482,23.0724716;113.275253,23.0726395;113.275108,23.0727558;113.274445,23.0732746;113.27401,23.0736046;113.273323,23.0741425;113.27317,23.0742664;113.273064,23.0743504;113.271927,23.0752926;113.271469,23.0756798;113.270966,23.0760937;113.269753,23.0770969;113.26889,23.0778217;113.26873,23.0779686;113.26857,23.0781422;113.268303,23.0784626;113.2677,23.0791645;113.267593,23.0792885;113.267395,23.0795383;113.266876,23.0802364;113.26609,23.0812836;113.265564,23.081995;113.265228,23.0824451;113.26487,23.0829201;113.264465,23.083498;113.26432,23.0836792;113.264175,23.0838623;113.263908,23.0842438'},\n",
       "   {'name': '内环路',\n",
       "    'status': '1',\n",
       "    'direction': '从中山一路出口到东风东路出入口',\n",
       "    'angle': '270',\n",
       "    'speed': '60',\n",
       "    'lcodes': '107,109,167,568,567,600,69,75,88,89,90,138,130,102,104,106,115,3395,3396',\n",
       "    'polyline': '113.307617,23.1319962;113.307518,23.130352;113.307487,23.1300259;113.307434,23.1292629;113.307381,23.1286659;113.307358,23.1285286;113.307327,23.1283913;113.307251,23.1282005;113.307175,23.1280231;113.307091,23.1278706;113.30703,23.1277771;113.306786,23.1274319;113.306686,23.1273251;113.306503,23.1271458;113.306122,23.1269474;113.305962,23.1268616;113.305626,23.1267242;113.305046,23.126503;113.304558,23.126297;113.303947,23.1260662;113.303467,23.1259384;113.302437,23.1256676;113.301811,23.1255016;113.301704,23.1254749;113.301369,23.1253948;113.298256,23.1247025;113.297333,23.124506;113.296959,23.1244221;113.296623,23.1243553;113.29554,23.124094;113.294617,23.1238804;113.294197,23.1237831;113.293976,23.1237202;113.293739,23.1236439;113.292755,23.1233292;113.292603,23.1232758;113.292473,23.1232224;113.292274,23.1231422;113.292068,23.1230583;113.291893,23.1229687;113.291733,23.1228886;113.291573,23.1228142;113.291428,23.1227341;113.290901,23.1224098;113.290009,23.1218395;113.289795,23.1217117;113.28862,23.1209736;113.288445,23.120863;113.288193,23.120697;113.287247,23.1201115;113.287041,23.1199818;113.286629,23.1197205;113.286201,23.1194496;113.285881,23.1192436;113.28553,23.1189995;113.284828,23.1185379;113.283821,23.1178932;113.283218,23.1175556;113.283096,23.117485;113.282829,23.1173019;113.282516,23.1170807;113.282082,23.1167507;113.281189,23.1160622;113.280693,23.115675;113.280624,23.1156178;113.280373,23.1154537;113.280136,23.1152706;113.279945,23.1151371;113.279884,23.115097;113.279823,23.1150532;113.279732,23.1149597;113.279709,23.1149197;113.279663,23.1148453;113.279625,23.1147861;113.279594,23.1146755;113.279556,23.1144314;113.279518,23.1138668;113.279495,23.1137295;113.279419,23.1134319;113.278908,23.1113911;113.278839,23.1111031;113.278755,23.110836;113.278648,23.1105061;113.278534,23.1102448;113.278427,23.1100216;113.278328,23.1098404;113.278099,23.1094303;113.277962,23.1092262;113.277634,23.1087513;113.277359,23.1084213;113.276535,23.1074619;113.276344,23.1072445;113.275665,23.1064987;113.275581,23.1064053;113.275421,23.1061993;113.275291,23.1060219;113.275208,23.1058807;113.275124,23.1057205;113.274986,23.1053772;113.274612,23.1046085;113.274521,23.1044178;113.274429,23.1042271;113.274277,23.1039505;113.274078,23.1036491;113.273918,23.1034317;113.273621,23.1030407;113.273567,23.1029682;113.273331,23.1027431;113.273064,23.1025066;113.272453,23.1020222;113.272034,23.1017609;113.271751,23.1016006;113.271126,23.1012936;113.270409,23.1009693;113.269402,23.1004753;113.2687,23.1001606;113.268356,23.1000175;113.268089,23.0999203;113.26693,23.0995998;113.265137,23.0991058;113.262939,23.0984802;113.262131,23.0982437;113.260826,23.097826;113.260506,23.0977058;113.25985,23.0974541;113.259209,23.0971375;113.259132,23.0970974;113.258881,23.0969696;113.258492,23.096756;113.257988,23.0964451;113.256981,23.0957737;113.256554,23.0954895;113.256409,23.0954132;113.256264,23.095356;113.256195,23.0953331;113.256073,23.0953102;113.255966,23.0953102;113.255867,23.0953236;113.25576,23.0953465;113.255661,23.0953865;113.255592,23.0954227;113.255447,23.0955334;113.255325,23.0956936;113.255234,23.095787;113.254951,23.0961552;113.254578,23.0966492;113.254356,23.0969372;113.25415,23.0972271;113.253616,23.0979557;113.253082,23.0986576;113.253021,23.0987511;113.25296,23.0988483;113.252907,23.0989418;113.252869,23.0990314;113.252846,23.099102;113.252823,23.0991592;113.252785,23.0993385;113.252762,23.0994492;113.252739,23.0997295;113.252724,23.1000271;113.252693,23.1003284;113.252625,23.1008358;113.252579,23.1011162;113.252403,23.1019516;113.252357,23.1021023;113.252319,23.102253;113.252296,23.1023636;113.252251,23.1024895;113.252213,23.1025867;113.251984,23.1030579;113.25177,23.1034622;113.251076,23.1047249;113.250687,23.1054668;113.250206,23.1063423;113.250092,23.1065598;113.249908,23.1070309;113.249832,23.107645;113.249794,23.1077557;113.249748,23.1078491;113.249672,23.1079597;113.249634,23.1080093;113.24958,23.1080666;113.249512,23.1081295;113.249367,23.1082134;113.249283,23.108263;113.249191,23.1082973;113.2491,23.1083202;113.249069,23.1083298;113.248764,23.1083641;113.247681,23.1082973;113.247299,23.1082973;113.246628,23.1083202;113.242516,23.1084309;113.242256,23.1084442;113.242012,23.1084709;113.241478,23.1085148;113.240562,23.1085339;113.240486,23.1085415;113.240395,23.1085606;113.240273,23.1085949;113.240196,23.1086311;113.240097,23.1086845;113.239998,23.1087513;113.23967,23.1089821;113.238625,23.1097164;113.238419,23.1099205;113.238213,23.1100674;113.237762,23.1103954;113.237137,23.1108837;113.236221,23.1116047;113.235878,23.1118717;113.235695,23.1120052;113.234718,23.1128082;113.234314,23.1131649;113.233459,23.113884;113.233139,23.1142082;113.23291,23.1144619;113.232674,23.1147461;113.232521,23.1149502;113.232285,23.1153069;113.232086,23.1156349;113.23175,23.116293;113.231552,23.116663;113.231171,23.1173859;113.230812,23.1181068;113.230576,23.1185474;113.230453,23.1188126;113.230309,23.1191959;113.230293,23.1192665;113.230255,23.1194267;113.23024,23.1195374;113.230225,23.1196575;113.230202,23.1199951;113.230202,23.1202221;113.230186,23.1215782;113.230202,23.1218853;113.230202,23.1236229;113.230186,23.1244087;113.230217,23.1255341;113.230202,23.126915;113.230202,23.1277504;113.230202,23.1303196;113.230225,23.1324005;113.23024,23.1325912;113.230255,23.1327515;113.230309,23.1330223;113.230415,23.1333561;113.230576,23.1336975;113.230652,23.133831;113.230736,23.1339912;113.230812,23.1340942;113.230896,23.1342087;113.231056,23.1343727;113.231361,23.1347065;113.231628,23.1349869;113.232605,23.1360168;113.232826,23.1362362;113.232941,23.1363564;113.232994,23.1364098;113.233459,23.1368275;113.233597,23.1369648;113.233902,23.1372719;113.234192,23.1375904;113.234314,23.1376972;113.234604,23.1379814;113.234665,23.1380482;113.234726,23.1381073;113.234825,23.1381874;113.234924,23.1382484;113.235237,23.138485;113.235291,23.138525;113.235664,23.1387596;113.2369,23.1394081;113.237671,23.139782;113.238327,23.1401024;113.238846,23.1403465;113.239067,23.1404667;113.239304,23.1405907;113.240089,23.1410351;113.240318,23.1411686;113.240784,23.1414356;113.241425,23.1417999;113.241745,23.1419868;113.24231,23.1423206;113.242882,23.1426716;113.243042,23.142765;113.243576,23.1430931;113.244347,23.1435871;113.244568,23.1437378;113.244705,23.1438141;113.24501,23.1440086;113.245781,23.1444836;113.245995,23.1446133;113.247215,23.1453648;113.247581,23.145586;113.247826,23.1457291;113.248108,23.1458893;113.248322,23.1460228;113.248558,23.1461506;113.248848,23.1462936;113.24926,23.1464939;113.249725,23.1466846;113.250069,23.146822;113.250381,23.1469555;113.250496,23.1469917;113.251198,23.1472321;113.251526,23.1473103;113.251884,23.1474037;113.252373,23.1475201;113.253288,23.1476936;113.253494,23.1477375;113.253899,23.1478043;113.254135,23.1478481;113.254311,23.147871;113.254562,23.1478977;113.254791,23.1479073;113.254936,23.1479015;113.25515,23.1478748;113.255325,23.1478481;113.255554,23.1477776;113.255859,23.147644;113.256157,23.1475067;113.256889,23.1471519;113.257408,23.1469154;113.257706,23.1467915;113.258095,23.1466408;113.258499,23.1465015;113.258972,23.1463604;113.260338,23.1460361;113.261452,23.1457729;113.263588,23.1452351;113.264572,23.1450272;113.265472,23.1448269;113.265656,23.1447773;113.265793,23.1447372;113.265953,23.1446838;113.266212,23.1445961;113.266647,23.1444092;113.266876,23.1443062;113.267059,23.1442184;113.267181,23.144146;113.267334,23.144062;113.267502,23.1439648;113.267662,23.143858;113.267967,23.1436348;113.268135,23.1434975;113.268738,23.1429996;113.269012,23.1427784;113.269257,23.1425953;113.26944,23.1424675;113.269852,23.1421776;113.270409,23.1418362;113.271591,23.1411915;113.272476,23.1407146;113.27285,23.1405163;113.272995,23.1404438;113.273415,23.1402626;113.273544,23.1402054;113.273903,23.1400719;113.274223,23.139946;113.274361,23.1399059;113.27462,23.1398392;113.274734,23.1398125;113.274864,23.1397991;113.274948,23.1397953;113.275185,23.1397991;113.275291,23.1398087;113.275383,23.1398258;113.275482,23.1398487;113.275597,23.1398792;113.275696,23.1399155;113.276772,23.1403694;113.27755,23.1407013;113.278046,23.1409111;113.278793,23.1412449;113.279396,23.1415024;113.279625,23.1415997;113.28035,23.1419334;113.280861,23.1421509;113.281166,23.1422844;113.281219,23.1423111;113.281319,23.1423607;113.281425,23.1424274;113.28154,23.1425076;113.281639,23.1425819;113.281746,23.1426888;113.282135,23.143177;113.282257,23.1432972;113.282364,23.1434002;113.282509,23.1435108;113.282692,23.1436176;113.282951,23.1437206;113.283127,23.1437645;113.283272,23.1437874;113.283432,23.1438007;113.284782,23.143795;113.285324,23.1438141;113.286346,23.143858;113.288055,23.1439114;113.290848,23.1439476;113.291168,23.143961;113.291565,23.1440125;113.291939,23.1440754;113.292229,23.1441422;113.292587,23.1442394;113.292747,23.1442986;113.293068,23.1444187;113.293442,23.1445694;113.293915,23.1447964;113.294197,23.1449413;113.294464,23.1450882;113.294739,23.1452541;113.29512,23.1455116;113.297531,23.1471691;113.298775,23.1480579;113.298889,23.148098;113.299194,23.1482983;113.299416,23.1484585;113.299644,23.1486187;113.299805,23.1487103;113.29998,23.1488132;113.300133,23.14888;113.300285,23.1489372;113.30043,23.1489773;113.300568,23.1490097;113.30069,23.1490307;113.300957,23.1490669;113.301689,23.149128;113.301758,23.1491337;113.301849,23.149128;113.302048,23.149107;113.30217,23.1490936;113.302322,23.1490574;113.302444,23.1490269;113.302551,23.1489964;113.302788,23.1489029;113.303093,23.1487465;113.303841,23.1482391;113.304214,23.147974;113.304337,23.1478615;113.304459,23.1477375;113.304604,23.1475601;113.30471,23.1473999;113.304764,23.147316;113.304832,23.1471691;113.305153,23.1464214;113.305885,23.1447697;113.306366,23.143671;113.307167,23.1418171;113.307343,23.141346;113.307472,23.140955;113.307556,23.1406574;113.307678,23.1401997;113.307755,23.1398659;113.307838,23.1392269;113.307877,23.1388569;113.30793,23.1381607;113.30793,23.1376839;113.307915,23.1373329;113.307785,23.1347427;113.307716,23.1336365;113.307617,23.1319962'},\n",
       "   {'name': '内环路',\n",
       "    'status': '1',\n",
       "    'direction': '从东风东路出入口到中山一路出口',\n",
       "    'angle': '270',\n",
       "    'speed': '55',\n",
       "    'lcodes': '-3396,-3395,-115,-106,-104,-102,-130,-138,-90,-89,-88,-75,-69,-600,-567,-568,-167,-109,-107',\n",
       "    'polyline': '113.306175,23.1268272;113.306519,23.1270313;113.306808,23.1272659;113.306953,23.1274319;113.307129,23.1276302;113.307236,23.1278095;113.307327,23.1279831;113.307365,23.1280975;113.307434,23.1283073;113.307487,23.1285458;113.307556,23.1291294;113.30761,23.1299725;113.307663,23.1307964;113.307716,23.1316986;113.307755,23.1320038;113.307808,23.1328392;113.307838,23.1334095;113.307861,23.1337013;113.307869,23.1339741;113.307892,23.1343918;113.30793,23.1351604;113.307983,23.1360168;113.307983,23.1363373;113.308044,23.1374531;113.308052,23.1380043;113.308037,23.1384487;113.308022,23.1387558;113.308022,23.1388531;113.307945,23.1394806;113.307846,23.1399994;113.30777,23.1403198;113.307709,23.1405602;113.307419,23.1413651;113.307274,23.1417465;113.305908,23.1449814;113.305717,23.1454716;113.305283,23.1464748;113.304962,23.1471863;113.304878,23.1473465;113.304779,23.1475163;113.304749,23.1475601;113.304642,23.1477032;113.304474,23.1478577;113.304382,23.1479378;113.304161,23.1481075;113.303566,23.1485195;113.303001,23.1488838;113.302948,23.1489162;113.302597,23.1490631;113.302437,23.1491146;113.302238,23.1491642;113.30201,23.1491947;113.301804,23.1492081;113.301674,23.1492004;113.301369,23.1491871;113.300873,23.1491547;113.300575,23.149147;113.300468,23.1491375;113.300385,23.149128;113.300285,23.1491108;113.300194,23.1490898;113.300087,23.1490574;113.300026,23.149044;113.299881,23.1490002;113.299805,23.1489639;113.299576,23.1488533;113.29937,23.1487236;113.298752,23.1482258;113.298203,23.1477871;113.297882,23.1475639;113.29631,23.1464672;113.295868,23.146143;113.295059,23.1455784;113.294586,23.1452579;113.294067,23.144968;113.293846,23.1448574;113.293419,23.1446629;113.293282,23.1445961;113.293098,23.1445236;113.292908,23.1444492;113.292534,23.1443157;113.292099,23.1441956;113.291931,23.1441593;113.291603,23.1440983;113.291321,23.144062;113.291077,23.1440392;113.290848,23.1440258;113.288124,23.1439857;113.286011,23.1439285;113.284988,23.143898;113.284294,23.143898;113.283615,23.1439114;113.283432,23.1439114;113.283325,23.143898;113.283203,23.1438847;113.283096,23.143858;113.282883,23.1438007;113.282753,23.143755;113.282623,23.1436939;113.282516,23.1436405;113.282417,23.1435738;113.28231,23.1434841;113.282242,23.1434174;113.282097,23.1432705;113.282028,23.143177;113.281761,23.1428356;113.281654,23.1427116;113.281563,23.1426125;113.281425,23.1424942;113.281334,23.1424408;113.281227,23.1423779;113.280945,23.1422272;113.280785,23.1421509;113.280357,23.1419697;113.279602,23.1416569;113.277931,23.1409512;113.276962,23.1405296;113.275932,23.140089;113.275726,23.1400089;113.275536,23.1399517;113.275375,23.1399155;113.275208,23.1398888;113.274948,23.1398792;113.274841,23.1398849;113.274719,23.1398983;113.274597,23.1399193;113.274498,23.1399384;113.274277,23.1399956;113.273972,23.1401062;113.2733,23.1403694;113.272919,23.140543;113.271469,23.1413193;113.270668,23.1417599;113.270195,23.1420364;113.270096,23.1421013;113.269905,23.1422176;113.269264,23.1426582;113.267998,23.1436977;113.267593,23.1439819;113.267235,23.1442127;113.267059,23.1443157;113.266808,23.144453;113.266541,23.1445694;113.266296,23.1446629;113.266167,23.1447163;113.265724,23.1448536;113.264862,23.1450844;113.2631,23.1455116;113.262207,23.1457329;113.261513,23.1459026;113.261002,23.1460304;113.260399,23.1461601;113.259026,23.1464844;113.258179,23.1467342;113.258026,23.1467781;113.257904,23.146822;113.257507,23.146986;113.257317,23.1470718;113.257103,23.1471691;113.255859,23.1477909;113.255699,23.1478672;113.255493,23.1479473;113.255257,23.1480179;113.255043,23.1480579;113.254936,23.1480675;113.254829,23.1480675;113.254723,23.1480618;113.254486,23.1480408;113.254364,23.1480217;113.254074,23.147974;113.25296,23.1477776;113.252426,23.1476765;113.251907,23.1475639;113.251411,23.1474438;113.251144,23.1473732;113.25042,23.1471424;113.250046,23.1470051;113.249634,23.1468449;113.249046,23.1465778;113.248726,23.1464214;113.24839,23.1462402;113.247398,23.1456661;113.247292,23.1455917;113.246864,23.1453381;113.246307,23.1449947;113.24585,23.1447201;113.244766,23.1440449;113.244568,23.1439247;113.243988,23.1435509;113.243416,23.1431828;113.243095,23.142992;113.242897,23.1428623;113.242523,23.1426258;113.241478,23.1420174;113.240158,23.1412716;113.23938,23.1408138;113.239014,23.1406307;113.238724,23.1404934;113.238373,23.1403465;113.237778,23.1400928;113.237282,23.1398716;113.237137,23.1398048;113.236763,23.1396217;113.236481,23.1394749;113.236252,23.1393547;113.235336,23.1388798;113.235107,23.1387558;113.234955,23.1386623;113.234795,23.1385555;113.234634,23.1384487;113.234543,23.1383724;113.234436,23.1382809;113.234207,23.1380577;113.234123,23.1379642;113.233826,23.1376534;113.233383,23.1371784;113.232727,23.136404;113.232307,23.135952;113.230919,23.1344624;113.230736,23.1342716;113.230675,23.1341953;113.230576,23.1340485;113.2304,23.1337605;113.230247,23.1334572;113.230095,23.1329956;113.230064,23.1327419;113.230042,23.1326084;113.230042,23.1324978;113.230026,23.1315155;113.230026,23.1309109;113.230042,23.1304665;113.230057,23.1275387;113.230072,23.1269207;113.23008,23.1260986;113.230087,23.1252003;113.230095,23.1245823;113.230087,23.1236973;113.23008,23.1229191;113.230095,23.1224537;113.23011,23.1215725;113.230118,23.1205597;113.230118,23.1199551;113.230125,23.1197548;113.230133,23.1196041;113.230148,23.1194401;113.230186,23.1192398;113.230255,23.1190319;113.230438,23.1186218;113.231552,23.1164703;113.231789,23.1160126;113.232002,23.115591;113.232162,23.1153164;113.232376,23.1149502;113.232605,23.1146393;113.232887,23.114275;113.23304,23.1141109;113.233261,23.1138973;113.233742,23.1134758;113.234299,23.1130047;113.234634,23.112751;113.2351,23.1124096;113.235664,23.1120529;113.236588,23.1114044;113.237396,23.1107731;113.237984,23.1103115;113.23851,23.1099072;113.238579,23.109848;113.23893,23.1096039;113.239532,23.1091919;113.239792,23.1090221;113.240051,23.1088886;113.240448,23.1087646;113.240707,23.1087074;113.240974,23.1086845;113.241707,23.1086445;113.243683,23.1085815;113.246437,23.1085072;113.248337,23.108448;113.248528,23.1084404;113.248718,23.1084213;113.248802,23.1084137;113.248878,23.1083946;113.248955,23.1083736;113.249031,23.1083469;113.249153,23.1082802;113.249313,23.1081638;113.249496,23.1079292;113.249519,23.1078663;113.24955,23.1077862;113.24958,23.1076984;113.249741,23.1071777;113.249847,23.1068535;113.249901,23.1067333;113.250099,23.1063118;113.25042,23.1057148;113.251083,23.1044846;113.251465,23.103796;113.251709,23.1033325;113.251877,23.1030273;113.252014,23.1027679;113.252151,23.1024494;113.252205,23.1022758;113.252251,23.1021194;113.252281,23.1019917;113.252441,23.1012096;113.252518,23.1008091;113.252571,23.1004753;113.25264,23.0995903;113.252693,23.0993385;113.252724,23.0991859;113.2528,23.0989914;113.252846,23.098875;113.252975,23.0986614;113.253059,23.098547;113.253395,23.0981102;113.253815,23.0975342;113.254593,23.0964985;113.254868,23.0961113;113.255165,23.0957241;113.255257,23.095644;113.255325,23.0955505;113.255363,23.0954933;113.25547,23.0953827;113.255577,23.0953197;113.255669,23.0952721;113.255753,23.0952358;113.255836,23.0952187;113.255928,23.0952091;113.256027,23.0952129;113.256142,23.0952263;113.256233,23.0952454;113.256317,23.0952759;113.256409,23.0953236;113.256531,23.0954037;113.25721,23.0958443;113.257988,23.0963688;113.258629,23.0967731;113.258812,23.09688;113.259224,23.0970936;113.259529,23.0972443;113.259804,23.097374;113.260086,23.0974941;113.260674,23.0977249;113.260941,23.0978222;113.26133,23.0979462;113.261703,23.0980587;113.264496,23.0988617;113.266899,23.0995426;113.268105,23.099844;113.268303,23.0999031;113.268738,23.1000843;113.269211,23.1002941;113.270874,23.1010799;113.271049,23.10116;113.271172,23.101223;113.271553,23.1014042;113.271767,23.1015205;113.272057,23.1016674;113.272247,23.101778;113.272507,23.1019592;113.27269,23.1020927;113.272873,23.102232;113.27327,23.1025734;113.273621,23.102911;113.273727,23.103014;113.273994,23.1033726;113.27417,23.1035957;113.274452,23.104023;113.274597,23.1042843;113.274948,23.1049557;113.275093,23.1052361;113.275314,23.1056614;113.275513,23.1060448;113.27565,23.1062851;113.275696,23.1063557;113.275787,23.1064796;113.275894,23.1065998;113.276146,23.1068935;113.276268,23.1070347;113.276421,23.1071949;113.276726,23.1075459;113.276939,23.1077785;113.27742,23.1083431;113.277611,23.1085777;113.27774,23.1087818;113.278107,23.1092987;113.278259,23.10956;113.278427,23.1098614;113.278572,23.1101475;113.278748,23.1105328;113.278915,23.1110497;113.279007,23.1113243;113.279327,23.1126537;113.279541,23.1134529;113.279709,23.1141949;113.279755,23.1144218;113.279762,23.1145191;113.279892,23.1146984;113.279945,23.1147728;113.279999,23.1148529;113.280167,23.115097;113.280266,23.1152039;113.280312,23.1152573;113.280457,23.1153965;113.280762,23.1156406;113.281136,23.1159115;113.282143,23.116684;113.282478,23.1169205;113.282913,23.1171951;113.283363,23.117466;113.283821,23.1177902;113.284393,23.1181374;113.284981,23.1184883;113.28624,23.1192303;113.287376,23.1199112;113.288109,23.1203728;113.28891,23.1208801;113.29081,23.1220798;113.291679,23.1226177;113.291855,23.1227207;113.291977,23.1227779;113.292145,23.1228619;113.292282,23.1229286;113.292694,23.1230984;113.292961,23.1231956;113.293472,23.1233635;113.293922,23.1235161;113.294167,23.1236401;113.294273,23.1236763;113.294594,23.1237698;113.294899,23.1238537;113.295517,23.1239948;113.295876,23.1240845;113.298119,23.1245785;113.299629,23.1249237;113.300552,23.1251297;113.301155,23.125267;113.301437,23.1253242;113.301865,23.1254215;113.302002,23.1254578;113.302895,23.1256618;113.303215,23.125742;113.303528,23.1258259;113.303719,23.1258717;113.304054,23.1259785;113.304344,23.1260796;113.304802,23.1262531;113.30542,23.1264973;113.306175,23.1268272'}]}}"
      ]
     },
     "execution_count": 119,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "深大_circle= traffic_circle(location='113.257766,23.092887',level='3',radius='1000')\n",
    "深大_circle"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 指定线路交通态势"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [],
   "source": [
    "def traffic_road(name,city,level,adcode=None,extensions='base',sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/traffic/status/road?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'name':name,\n",
    "        'city':city,\n",
    "        'adcode':adcode,\n",
    "        'level':level, \n",
    "        'extensions':extensions,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'trafficinfo': {'description': '深南大道：双向畅通。',\n",
       "  'evaluation': {'expedite': '99.01%',\n",
       "   'congested': '0.00%',\n",
       "   'blocked': '0.99%',\n",
       "   'unknown': '0.00%',\n",
       "   'status': '1',\n",
       "   'description': '畅通'}}}"
      ]
     },
     "execution_count": 123,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "深南大道=traffic_road(name='深南大道',city='深圳市',level=4)\n",
    "深南大道"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：可以航拍指定区域的路况以及城市建设情况，及时的反馈给用户和政府，此时可以使用语音识别功能，及时快速的对用户进行提醒"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 地理围栏"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 创建围栏"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [],
   "source": [
    "def geofence_create():\n",
    "    \"\"\"地理围栏服务是一类HTTP接口，提供在服务端，增删改查地理围栏的功能，同时支持对于设备与围栏关系进行监控。\"\"\"\n",
    "    url = \"https://restapi.amap.com/v4/geofence/meta?key=bcc129581ef43592b54c1a2b1245e848\"\n",
    "    params = {\n",
    "        \"name\":\"创建围栏\",\n",
    "        \"repeat\":\"Mon,Tues,Wed,Thur,Fri,Sat,Sun\",\n",
    "        \"center\":\"114.304166,30.395484\",\n",
    "        \"enable\":\"true\",\n",
    "        \"radius\":\"3000\",\n",
    "        \"valid_time\":\"2020-05-21\",\n",
    "        \"time\":\"06:00,16:00;20:00,23:59\",\n",
    "        \"alert_condition\":\"enter;leave\"\n",
    "    }\n",
    "    response = requests.post(url,json=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': {'gid': '59f42d89-7f45-41eb-85b7-fa3d3845e358',\n",
       "  'id': '0',\n",
       "  'message': '成功',\n",
       "  'status': '0'},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 125,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "geofence_create()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 查询围栏"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [],
   "source": [
    "def geofence_create():\n",
    "    \"\"\"地理围栏服务是一类HTTP接口，提供在服务端，增删改查地理围栏的功能，同时支持对于设备与围栏关系进行监控。\"\"\"\n",
    "    url = \"https://restapi.amap.com/v4/geofence/meta?key=bcc129581ef43592b54c1a2b1245e848\"\n",
    "    params = {\n",
    "        \"name\":\"创建围栏\",\n",
    "        \"repeat\":\"Mon,Tues,Wed,Thur,Fri,Sat,Sun\",\n",
    "        \"center\":\"114.304166,30.395484\",\n",
    "        \"enable\":\"true\",\n",
    "        \"radius\":\"3000\",\n",
    "        \"valid_time\":\"2020-05-21\",\n",
    "        \"time\":\"06:00,16:00;20:00,23:59\",\n",
    "        \"alert_condition\":\"enter;leave\"\n",
    "    }\n",
    "    response = requests.post(url,json=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': {'message': '新增围栏已存在', 'status': '106'},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 139,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "geofence_create()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 更新围栏"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [],
   "source": [
    "def geofence_update():\n",
    "    \"\"\"地理围栏服务是一类HTTP接口，提供在服务端，增删改查地理围栏的功能，同时支持对于设备与围栏关系进行监控。\"\"\"\n",
    "    url = \"https://restapi.amap.com/v4/geofence/meta?key=bcc129581ef43592b54c1a2b1245e848\"\n",
    "    params = {\n",
    "        \"name\":\"新建围栏\",\n",
    "        \"repeat\":\"Mon,Tues,Wed,Thur,Fri,Sat,Sun\",\n",
    "        \"center\":\"114.354166,30.395484\",\n",
    "        \"enable\":\"true\",\n",
    "        \"radius\":\"2000\",\n",
    "        \"valid_time\":\"2020-05-21\",\n",
    "        \"time\":\"06:00,18:00;20:00,23:59\",\n",
    "        \"alert_condition\":\"enter;leave\"\n",
    "    }\n",
    "    response = requests.post(url,json=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': {'gid': 'bdedb4f2-8246-49ae-99a5-7c824daf7716',\n",
       "  'id': '0',\n",
       "  'message': '成功',\n",
       "  'status': '0'},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 143,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "geofence_update()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 围栏设备监控"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [],
   "source": [
    "def geofence_status(diu,locations,uid=None,sig=None)->dict:\n",
    "    \"\"\"查询设备与附近的围栏交互状态。例如是否在围栏中，是否进出围栏；若未在围栏中，返回最近围栏的信息等。\"\"\"\n",
    "    url = 'https://restapi.amap.com/v4/geofence/status'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'diu':diu,\n",
    "        'locations':locations,\n",
    "        'uid':uid,\n",
    "        'sig':sig, \n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': {'fencing_event_list': [],\n",
       "  'nearest_fence_distance': '2000.0',\n",
       "  'status': 0},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 145,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "status=geofence_status(diu='C0EDCF46-7B3F-4AB2-BBAD-95A2FE82982E',locations='116.472407,39.993322,1484816232')\n",
    "status"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 轨迹纠偏"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [],
   "source": [
    "url=\"https://restapi.amap.com/v4/grasproad/driving?key=554c46280f7279e1beaeafbc0df80929\"\n",
    "def driving():\n",
    "    \"\"\"根据坐标点抓取道路，即根据给定的坐标点、车辆的方位角以及行驶速度，将用户的轨迹纠偏到路上，从而返回用户实际驾车经过的道路坐标。\"\"\"\n",
    "\n",
    "    body=[{\n",
    "    \"x\": 116.449429,\n",
    "    \"y\": 40.014844,\n",
    "    \"sp\": 4,\n",
    "    \"ag\": 110,\n",
    "    \"tm\": 1478831753\n",
    "    }, {\n",
    "    \"x\": 116.449639,\n",
    "    \"y\": 40.014776,\n",
    "    \"sp\": 3,\n",
    "    \"ag\": 110,\n",
    "    \"tm\": 23\n",
    "    }, {\n",
    "    \"x\": 116.449859,\n",
    "    \"y\": 40.014716,\n",
    "    \"sp\": 3,\n",
    "    \"ag\": 111,\n",
    "    \"tm\": 33\n",
    "    }, {\n",
    "    \"x\": 116.450074,\n",
    "    \"y\": 40.014658,\n",
    "    \"sp\": 3,\n",
    "    \"ag\": 110,\n",
    "    \"tm\": 31\n",
    "    }, {\n",
    "    \"x\": 116.450273,\n",
    "    \"y\": 40.014598,\n",
    "    \"sp\": 3,\n",
    "    \"ag\": 111,\n",
    "    \"tm\": 20\n",
    "    }]\n",
    "\n",
    "\n",
    "\n",
    "    r=requests.post(url=url,json=body).json()\n",
    "    \n",
    "    return r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': {'distance': 33.0,\n",
       "  'points': [{'x': 116.44942000249563, 'y': 40.014843356125866},\n",
       "   {'x': 116.44945705955585, 'y': 40.01453960973057}]},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 147,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "driving()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 思考：地理围栏是对于设备与围栏关系进行监控，可以通过计算机视觉提供位置区域识别及时反馈信息，便于用户了解区域情况"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 应用：便你出行\n",
    "\n",
    "* 3个api功能：路径规划，地理围栏，交通态势，语音识别\n",
    "* 在你出行前找到你的定位，输入你的到达地，得到步行规划和公交规划，并告知你哪个是最高效最方便的，可以选择模式，减肥模式则可以走路并且为你找到合适的道路行走。\n",
    "* 通过地理围栏进行路况更新，告知你不要走哪条正在维修的路，哪条路比较通且宽敞。\n",
    "* 语音功能及时告诉你交通态势，便于你及时转换路线，避免交通意外的发生。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "327.391px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
